diff --git a/source/glossary.rst b/source/glossary.rst index 40c041f4c..9b25afbb3 100644 --- a/source/glossary.rst +++ b/source/glossary.rst @@ -119,6 +119,23 @@ Glossary extensions. + Implicit Namespace Package + Native Namespace Package + + "Native namespace packages" and "implicit namespace packages" are two names for + the same type of namespace package. It's defined in :pep:`420`, and is available + in Python 3.3 and later. + + The term "native" derives from the built-in feature of Python to create packages + without installing an extra package, such as setuptools, from outside the standard + library. The term "implicit" derives from the fact that you don't have to explicitly + declare the namespace package in a :file:`__init__.py` file. + + This guide uses these names interchangeably. + + .. seealso:: + :ref:`native-namespace-packages` + Import Package A Python module which can contain other modules or recursively, other diff --git a/source/guides/packaging-namespace-packages.rst b/source/guides/packaging-namespace-packages.rst index 3d929d527..c59ddd6bb 100644 --- a/source/guides/packaging-namespace-packages.rst +++ b/source/guides/packaging-namespace-packages.rst @@ -71,6 +71,14 @@ from which the latter is discouraged: #. Use `legacy namespace packages`_. This comprises `pkgutil-style namespace packages`_ and `pkg_resources-style namespace packages`_. +.. note:: + + :term:`Native namespace packages ` and + :term:`implicit namespace packages ` are two + names for the same thing. This guide uses these names interchangeably. + +.. _native-namespace-packages: + Native namespace packages ------------------------- @@ -159,8 +167,8 @@ Legacy namespace packages These two methods, that were used to create namespace packages prior to :pep:`420`, are now considered to be obsolete and should not be used unless you need compatibility -with packages already using this method. Also, :doc:`pkg_resources ` -has been deprecated. +with packages already using this method. Also, +:doc:`pkg_resources ` has been deprecated. To migrate an existing package, all packages sharing the namespace must be migrated simultaneously.