Wednesday, June 01, 2005

New PYTHONPATH configuration!!

The new pythonpath configuration is almost finished (already fully functional for code completion).

The current state is:

- Interpreter configuration: we specify an interpreter and it shows:
- the system libraries (folders) and the compiled libraries (dlls).
- the 'forced' builtin libs (this is, libraries that exist only at runtime, but don't have a specific source file associated or have but there is too much information we can only get at runtime. E.g.: os is a file (os.py) but its information is only useful at runtime because it is too dependent on the system where it is ran. This is the case where simple AST analysis is almost useless).

Note that those that have dlls found (e.g.: qt.pyd for qt) do not have to be specified here.

- Project configuration: we specify:
- the source folders in the project
- external libraries (those that are not within any project)
- referenced projects (projects the current project depends on)
(previously, we had to re-specify everything for each project, and it didn't synchronize information that was not in the current module, and it saves a lot of memory, since we have n entities that talk with each other now -- one is the one that controls the system configuration, and the others are the ones that control the project, and talk with each other for referencing).

As I said, it is already fully functional for code completion, but PyLint, refactoring and other tools that run outside of the 'java' real environment are still not completely integrated with this new configuration (and a new build will only be released when this is done).

No comments: