ANN: ConfigObj 4.5.2 and validate 0.3.2

Fuzzyman fuzzyman at
Wed Feb 27 16:28:31 CET 2008

There was a bug in release 4.5.1 of ConfigObj, so there is now an
updated release:

* `ConfigObj 4.5.2 <
* `Validate 0.3.2 <>`_

The bug affected the use of ``None`` as a default value in configspecs
and is now fixed.

What are ConfigObj and Validate?

**ConfigObj** is a simple to use but powerful configuration file
management library.
Features include:

* Nested sections to any depth
* Unicode support
* List and multiline values
* Integrated with a powerful validation system

    - including automatic type checking/conversion
    - repeated sections
    - and allowing default values

* All comments in a file are preserved when writing
* The order of keys/sections is preserved
* A powerful unrepr mode for storing basic datatypes

**validate** is the module (optional) used for config file validation
and type marshalling. It
can be used outside of ConfigObj for matching string values against a
text specification which
also does type conversion.

Changes in ConfigObj 4.5.x

Distribution now includes validate 0.3.2 so ``None`` as a default
value in configspecs works again.

BUGFIX: Unicode configspecs now work.

ConfigObj will now guarantee that files will be written terminated
with a newline.

ConfigObj will no longer attempt to import the ``validate`` module,
until/unless you call ``ConfigObj.validate`` with
``preserve_errors=True``. This
makes it faster to import.

New methods ``restore_default`` and ``restore_defaults``.
``restore_default`` resets an entry to its default value (and returns
that value). ``restore_defaults`` resets all entries to their default
value. It doesn't modify entries
without a default value. You must have validated a ConfigObj (which
populates the ``default_values`` dictionary) before calling these

BUGFIX: Proper quoting of keys, values and list values that contain
hashes (when writing).  When ``list_values=False``, values containing
hashes are triple quoted.

Added the ``reload`` method. This reloads a ConfigObj from file. If
the filename attribute is not set then a ``ReloadError`` (a new
exception inheriting from ``IOError``) is raised.

BUGFIX: Files are read in with 'rb' mode, so that native/non-native
line endings work!

Minor efficiency improvement in ``unrepr`` mode.

Added missing docstrings for some overridden dictionary methods.

Added the ``reset`` method. This restores a ConfigObj to a freshly
created state.

Removed old CHANGELOG file.

Changes in Validate 0.3.x

BUGFIX: ``None`` as a default value handled correctly.

BUGFIX: Unicode checks no longer broken.

Improved performance with a parse cache.

New ``get_default_value`` method. Given a check it returns the default
value (converted to the correct type) or raises a ``KeyError`` if the
check doesn't specify a default.

Added 'tuple' check and corresponding 'is_tuple' function (which
always returns a tuple).

BUGFIX: A quoted 'None' as a default value is no longer treated as
but as the string 'None'.

BUGFIX: We weren't unquoting keyword arguments of length two, so an
empty string didn't work as a default.

BUGFIX: Strings no longer pass the 'is_list' check. Additionally, the
list checks always return lists.

A couple of documentation bug fixes.

Removed CHANGELOG from module.

Michael Foord

More information about the Python-announce-list mailing list