ANN: ConfigObj 4.0.0 Beta 4

Fuzzyman fuzzyman at
Thu Sep 8 17:14:24 CEST 2005

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.

What's New ?

(Since Beta 2 the last announced version)


    Fixed bug in initialising ConfigObj from a ConfigObj.

    Changed the mailing list address.


    Fixed bug in ``Section__delitem__`` oops.


    Interpolation is switched off before writing out files.

    Fixed bug in handling ``StringIO`` instances. (Thanks to report
    "Gustavo Niemeyer" <gustavo at>)

    Moved the doctests from the ``__init__`` method to a separate
    (For the sake of IDE calltips).

    Beta 3


    String values unchanged by validation *aren't* reset. This
    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

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 :

More information about the Python-announce-list mailing list