Python and Jython import semantics differ on how sub-packages should be accessed after importing some module:<br><br>Jython 2.1 on java1.5.0 (JIT: null)<br>Type &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
<br>&gt;&gt;&gt; import xml<br>&gt;&gt;&gt; xml.dom<br>&lt;module xml.dom at 10340434&gt;<br><br>Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32<br>Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
<br>&gt;&gt;&gt; import xml<br>&gt;&gt;&gt; xml.dom<br>Traceback (most recent call last):<br>&nbsp; File &quot;&lt;stdin&gt;&quot;, line 1, in ?<br>AttributeError: 'module' object has no attribute 'dom'<br>&gt;&gt;&gt; from xml.dom
 import pulldom<br>&gt;&gt;&gt; xml.dom<br>&lt;module 'xml.dom' from 'C:\bin\Python24\lib\xml\dom\__init__.pyc'&gt;<br><br>Note that in Jython importing a module makes all subpackages beneath it available, whereas in python, only the tokens available in __init__.py are accessible, but if you do load the module later even if not getting it directly into the namespace, it gets accessible too -- this seems more like something unexpected to me -- I would expect it to be available only if I did some &quot;import 
xml.dom&quot; at some point.<br><br>My problem is that in Pydev, in static analysis, I would only get the tokens available for actually imported modules, but that's not true for Jython, and I'm not sure if the current behaviour in Python was expected.
<br><br>So... which would be the right semantics for this?<br><br>Thanks,<br><br>Fabio<br>