
Jedi is an autocompletion tool for Python. It works. With and without syntax errors. Sometimes it sucks, but that's normal in dynamic languages. But it sucks less than other tools. It understands almost all of the basic Python syntax elements including many builtins.