Dear All,

my name is Valerio and I am a developer for an open source structural biology project.

I also posted this on the PyDev forum. I don't know wether this list or that forum is the right place to post, so forgive me for crossposting.

I am facing a problem and I would like to ask for your help.

We have python modules created using boost-python. Each model is contained in a directory (for example,foo). In the directory, there is a python script called __init__.py and a so file called _foo.so. The so files contains the boost python part of the module, classes and methods created in C++. The init file introduces some python classes and functions and then import the content of the _foo module. This is quite standard when working with boost python.

So, to recap, the __init__.py files looks something like:

def abc:
.......
from _foo import *

I have problems with code completion. PyDev correctly parses the __init__ py file in the foo directory. Of course it does not parse _foo, so I have the following items in the autocompletion for the foo module.

foo.abc
foo._foo

I would like to have autocompletion for the _iplt module also, so I add the foo directory to the libraries for the python interpreter and add the _foo module to the forced builtins.

Unfortunately the result is only half of what I want to get. I get autocompletion for the classes in _foo, but I get them in a _foo module in the global namespace

that is:

_foo.test1
_foo.test2

etc. I would like Eclipse to understand that this is the same _foo module imported by foo. So Ideally, I would like the code completion for foo to be:

foo.abc
foo.test1
foo.test2

But I could live also with

foo.abc
foo._foo.test1
foo._foo.test2

Does anyone know if there is a way to achieve this with pydev? If not, does anyone know if any other python IDE can deal with this? 90% of the modules in our project are hybrid or c++ only. I feel I am not the only one to want code completion with boost python modules in python. Maybe someone found a solution

Thank you all for you help. I hope someone can help solve this problem.

Valerio