[ANN] tconfpy 2.112 Released And Available

Tim Daneliuk tundra at tundraware.com
Thu Jan 20 11:53:51 CET 2005

Hash: SHA1

'tconfpy' Version 2.112 is now released and available for download at:

~         http://www.tundraware.com/Software/tconfpy

The last public release was 1.185 (5-2-2004)

This is a significant bugfix and feature upgrade release.  Existing
users are strongly encouraged to upgrade.  Be aware that the passed
and returned API parameters have changed, as have some of the
semantics of the configuration language, so existing code and/or
configuration files may need to be edited accordingly.

Complete details can be found in the WHATSNEW.txt file included in the

Users are strongly encouraged to join the tconfpy-users mailing list as
described in the documentation.

What Is 'tconfpy'?
- ------------------

'tconfpy' is an advanced configuration file parser and validator for
Python programs.  By using 'tconfpy', Python programmers can provide
their users with an external configuration file for setting program
options, defining defaults, and so on.  'tconfpy' offloads the
responsibility for parsing and validating a configuration file from
the main application. The Python programmer need only deal
with the results and any errors or warnings generated during the
parsing process.

'tconfpy' recognizes a rich configuration language and provides a
number of sophisticated programming features including:

~    - The ability to breakup large configurations into smaller pieces
~      via the '.include' directive.

~    - Support for string substitution and concatenation throughout the
~      configuration file via string variables.  Variables may be
~      locally declared, a reference to a symbol already in the
~      symbol table, or a reference to an environment variable.

~    - A complete set of conditional directives for selective
~      processing of configuration options. Both existential ("If
~      variable exists ...") and comparison ("if string equals/does not
~      equal string ...") forms are provided, as is an '.else'
~      directive.

~    - The ability to instantiate program options prior to reading a
~      configuration file and make them mandatory by declaring those
~      options as Read-Only.

~    - Optional type validation to ensure that a user enters a value
~      appropriate for boolean, integer, floating point, string, or
~      complex data.

~    - Optional value validation to ensure that a configuration option
~      is either within a specified range or one of an enumerated set
~      of possible values.  For configuration options which are string
~      types, 'tconfpy', can optionally specify min/max string lengths
~      and enumerate a set of legitimate regular expressions that the
~      string must match.

~    - The ability to define an arbitrary number of lexical namespaces.

~    - The ability to use the various features of 'tconfpy' as a pre-
~      processor for any other text (including source code for other
~      programming languages and Python itself) via the '.literal'
~      directive.

~    - The ability to "template" classes of variables, thereby predefining
~      the type and value restrictions for such variables.  This makes
~      'tconfpy' useful as a building block for data validation tools.

~    - An optional debug capability which returns detailed information
~      about each line parsed.

~    - Includes a test driver program for learning how to program with
~      'tconfpy' and for debugging and testing your own configuration
~      files.

~    - Comes with approximately 40 pages of documentation including a
~      Programmer's API Reference and a User's Guide to the 'tconfpy'
~      configuration language.  Documentation is provided in several
~      formats including Unix 'man', Plain Text, html, pdf, and
~      Postscript.

'tconfpy' is a Pure Python module and is platform-independent.
It should work identically on any platform on which Python runs.

- ------------------------------------------------------------------------------
Tim Daneliuk
tundra at tundraware.com

Version: GnuPG v1.2.6 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the Python-announce-list mailing list