I was looking over the Changelog for the new Python 2.5 alpha release. Of particular interest was the fact that Python 2.5 finally allows you to use true absolute imports and adds an actual syntax for relative imports. Right now the importer uses an ugly mix of the two (ie, it tries relative paths first, then absolute paths) that can leave you scratching your head when you accidentally use the same name in a different place. Because it would break so many scripts to switch to absolute paths by default, in order to turn this feature on you must add to the top of your scripts: from __future__ import absolute_import
. The reason that you are importing from the __future__ is because the existing functionality will be completely deprecated for the new functionality in some future version of Python (around 2.7), but I just love how it reads like you are importing features from The Future. So often when programming it would be nice to use some future functionality today, but actually write the code for it sometime tomorrow when you have the chance. There are some very weird theories of how one might use time travel to do crazy things with computing...