davidhalter/jedi — pull request #161 by tkf (2013-03-13 15:47:37+00:00)
Title: Get rid of the import hack.  Use relative and "deferred" imports.  Fixes #160.

Here is my try to fix #160. It requires another hack, but it is cleaner because it just uses attribute assignment. Basically I rewrote `import X` in module `Y` to `from jedi import X, Y; Y.X = X` in `jedi/__init__.py`. To do this in more DRY manner, I add another module called `jedi.deferredimport` which automates this procedure.

This change also clarify circular imports in jedi. It is useful to have them in mind and better try to reduce them.