<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    the PEP 420 (Implicit Namespace Packages) is quite descriptive about
    the problem and the solution implemented back in Python 3.3 but I
    feel there may be a part missing (but maybe this is categorized as
    an implementation detail).<br>
    <br>
    As I understand, for a package to allow being extended in this way,
    it must be a namespace package and not contain a marker file. As a
    matter of fact, no sub-package until the top level package can have
    a marker file:<br>
    <br>
    Lib/test/namespace_pkgs<br>
        project1<br>
            parent<br>
                child<br>
                    one.py<br>
        project2<br>
            parent<br>
                child<br>
                    two.py<br>
    <br>
    However, what is not discussed is "implicit namespace sub-package".
    In Python 3.6 (I guess since the first implementation), if you have
    this layout:<br>
    Lib/test/namespace_pkgs<br>
        project1<br>
            parent # Regular package<br>
                __init__.py<br>
                child # Namespace package<br>
                    one.py<br>
    <br>
    you get "parent" as a regular package and "parent.child" as a
    namespace package and it works (although now, every package data
    directory became namespace packages and are importable, which may or
    may not be desirable). The point is, does that add any value? I
    wasn't able to find any discussion about this and, as far as I can
    see, there is actually no use case for this as there is no possible
    way to contribute to the "parent.child" namespace. Is that an
    intended behavior of PEP 420?<br>
    <br>
    Again, I may have missed something or misinterpreted PEP 420 but
    this contributes to the "Implicit package directories introduce
    ambiguity into file system layouts." point by Nick Coghlan that was
    supposed to be addressed in PEP 395.<br>
    <br>
    Wouldn't it be more appropriate to enforce a sub-package to be a
    regular package if the parent package is a regular package?<br>
    <br>
    Gallian<br>
    <div class="moz-signature">-- <br>
      <p> <b
style="font-size:12.8px;color:rgb(106,168,79);font-family:verdana,sans-serif">
          Gallian Colombeau </b><br>
        <b
          style="font-size:12.8px;color:#666666;font-family:verdana,sans-serif">
          Software engineer </b>
      </p>
      <p> <a href="http://www.hiphen-plant.com" target="_blank"
          style="text-decoration:none"> <img alt="hiphen-plant-logo"
            src="cid:part1.02080504.05060105@hiphen-plant.com"
            height="53" width="200"> </a><br>
        <span style="font-size:12.8px;color:#999999"> <b>Centre INRA
            PACA - UMR EMMAH</b><br>
          <i> 228, route de l'aérodrome - CS 40509<br>
            84914 Avignon - Cedex 9 - France </i> </span><br>
        <a style="font-size:12.8px;color:rgb(17,85,204)"
          href="www.hiphen-plant.com">www.hiphen-plant.com</a>
      </p>
    </div>
  </body>
</html>