= Upgrading the Configuration = Currently merging new config options to existing deployments must be done by hand. This should be possible automatically. '''Requirements''' * Merge current settings with new default config into new config * Preserve comments === !ConfigParser === Python's built-in !ConfigParser does not support preserving comments. === !ConfigObj === [http://www.voidspace.org.uk/python/configobj.html ConfigObj documentation] [http://pypi.python.org/pypi/configobj/ ConfigObj on PyPI] * INI style config files, [http://www.voidspace.org.uk/python/configobj.html#config-files example] * Used by bazaar, chandler, matplotlib, ipython, elisa === Config === [http://www.red-dove.com/config-doc/ Config documentation] * Not sure if merge function supports preserving comments === JSON or XML === * Advantage is that these are well-known formats, and both are readable from Python. * For comments, allow a "comment" field. === Further alternatives === Further alternatives are covered by the [http://wiki.python.org/moin/ConfigParserShootout ConfigParser Shootout] (circa 2004-2006)