ANNOUNCE: Thesaurus and ThesaurusCfg - recursive mapping and cfg file data types

Dave Cinege dave at cinege.com
Wed Nov 13 20:43:38 EST 2019


This announcement is for a pre-release that I would like people to 
comment on structure, naming, etc. (Code review maybe not yet. :-)

Before you say "It's all been done before." I suggest you take a closer 
look and I think you may conclude that what I've revised over 7 years is 
now interesting.

---
Thesaurus is a mapping data type with key recursion and attribute 
aliasing. It is a subclass of dict() and compatible as a dictionary 
replacement baring where key path recursion may take place.

ThesaurusExtended is a subclass of Thesaurus providing additional 
usability methods.

ThesaurusCfg is a subclass of ThesaurusExtended providing a 
configuration file parser and per key data coercion methods.

The Thesaurus family works with Python 2.6+ to 3.8+.


A simple example of ThesaurusCfg
--
cfgs = '''
prog.version(static_int)    = 123
opt.verbose (str_to_bool)   = yes
hi                          = Hello
'''
from thesauruscfg import thescfg
cfg = thescfg()
 >>> cfg.parse(cfgs)
{'prog': {'version': 123}, 'opt': {'verbose': True}, 'hi': 'Hello'}
 >>> cfg.opt.verbose
True

import json
 >>> print(json.dumps(cfg, indent=4, separators=(',', ': ')))
{
     "prog": {
         "version": 123
     },
     "opt": {
         "verbose": true
     },
     "hi": "Hello"
}

browse:
   https://git.cinege.com/thesaurus/
or
   git clone https://git.cinege.com/thesaurus/
---

Dave


More information about the Python-list mailing list