Hello Pythoneers, ConfigObj 4.0.0 has a beta 4 release. This fixes a couple of moderately serious bugs - so it's worth switching to.
http://cheeseshop.python.org/pypi/ConfigObj http://www.voidspace.org.uk/python/configobj.html http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=configobj-4.0.0b4.zip http://sf.net/projects/configobj What's New ? ============ (Since Beta 2 the last announced version) 2005/09/07 ---------- Fixed bug in initialising ConfigObj from a ConfigObj. Changed the mailing list address. 2005/09/03 ---------- Fixed bug in ``Section__delitem__`` oops. 2005/08/28 ---------- Interpolation is switched off before writing out files. Fixed bug in handling ``StringIO`` instances. (Thanks to report from "Gustavo Niemeyer" <[EMAIL PROTECTED]>) Moved the doctests from the ``__init__`` method to a separate function. (For the sake of IDE calltips). Beta 3 2005/08/26 ---------- String values unchanged by validation *aren't* reset. This preserves interpolation in string values. What is ConfigObj ? =================== ConfigObj is a simple but powerful config file reader and writer: an ini file round tripper. Its main feature is that it is very easy to use, with a straightforward programmer's interface and a simple syntax for config files. It has lots of other features though : * Nested sections (subsections), to any level * List values * Multiple line values * String interpolation (substitution) * Integrated with a powerful validation system o including automatic type checking/conversion o allowing default values o repeated sections * All comments in the file are preserved * The order of keys/sections is preserved * No external dependencies ConfigObj is available under the very liberal BSD License. It addresses *most* of the limitations of ConfigParser as discussed at : http://wiki.python.org/moin/ConfigParserShootout Anything Else ? =============== ConfigObj stores nested sections which map names to members (effectively dictionaries) with values as lists *or* single items. In association with the validate module it can transparently translate values back into booleans, floats, integers, and of course strings. This makes it ideal for *certain* types of human readable (and writable) data persistence. There is a discussion of this (with accompanying code) at : http://www.voidspace.org.uk/python/articles/configobj_for_data_persistence.shtml -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html