ANN: ConfigObj 4.5.1 and validate 0.3.1

Fuzzyman fuzzyman at
Thu Feb 7 15:21:31 CET 2008

After one year and two days since the last release, there is a new
release of ConfigObj.

* ConfigObj 4.5.1
* Validate 0.3.1

This release adds a few new features, plus has several bugfixes and
minor performance improvements.
Thanks to all those who gave feedback, reported bugs and provided

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.1

Distribution updated to include version 0.3.1 of validate. This means
Unicode configspecs now work.

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

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

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

BUGFIX: Proper quoting of keys, values and list values that contain
(when writing).  When ``list_values=False``, values containing hashes
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.1

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