UPDATE: I now highly recommend you use direnv modules instead of albion.
A UNIX/Linux environment manager that allows on-the-fly configuration of your shell environment. Environment variables, aliases, functions, and so forth can be changed without requiring you to do the tedious log-out-and-log-back-in-again routine. Simply type ‘albion env <environment-name>’ and your shell environment will be reconfigured according to the specification in your environment file. Should work with any POSIXy shell (bash, ksh, zsh, etc.)
Albion is similar to the Environment Modules Project, however, environment configuration files (configs) are written in standard shell language, not tcl. Another improvement over modules is that when unloaded, the effect of the configs is correctly undone, even if the configs have changed or been deleted after loading. The main albion tool is written in Python, with some supporting pieces written in POSIX shell code.
albion is currently alpha quality. The core functionality seems to be working just fine, but has only been tested in a bash shell environment. There is very little documentation, and it could use an install script to make getting started easier.
See INSTALL.org for manual installation instructions
A mailing list has been set up here: http://groups.google.com/group/albion-devel