Skip to main content

Utility functions and classes for .ini style configuration files.

Project description

Utility functions and classes for .ini style configuration files.

Latest release 20250103: Import and requirement update for recent changes elsewhere.

Class ConfigSectionWatcher(collections.abc.Mapping)

A class for monitoring a particular clause in a config file.

ConfigSectionWatcher.__init__(self, config, section, defaults=None): Initialise a ConfigSectionWatcher to monitor a particular section of a config file. config: path of config file or ConfigWatcher section: the section to watch defaults: the defaults section to use, default 'DEFAULT'

ConfigSectionWatcher.__getitem__(self, key):

Mapping methods.

ConfigSectionWatcher.as_dict(self): Return the config section as a dict.

ConfigSectionWatcher.keys(self): Return the keys of the config section.

ConfigSectionWatcher.path: The pathname of the config file.

Class ConfigWatcher(collections.abc.Mapping)

A monitor for a windows style .ini file. The current SafeConfigParser object is presented as the .config property.

ConfigWatcher.__getitem__(self, section): Return the ConfigSectionWatcher for the specified section.

ConfigWatcher.as_dict(self): Construct and return a dictionary containing an entry for each section whose value is a dictionary of section items and values.

ConfigWatcher.config: Live configuration.

ConfigWatcher.path: The path to the config file.

ConfigWatcher.section_keys(self, section): Return the field names for the specified section.

ConfigWatcher.section_value(self, section, key): Return the value of [section]key.

Class HasConfigIni

Class for objects with a config.ini file. A section of the config is designated "our" configuration and its fields parsed into a TagSet; in particular the field values use the TagSet transcription syntax.

The default implementation is expected to be mixed into a class with a .pathto(rpath) method, such as one which inherits from HasFSPath.

The mixin provides the following attributes:

  • config: an on demand property which is a TagSet made from the configuration file section
  • config_ini: the relative path to the configuration file
  • configpath: the full pathname of the configuration file
  • config_flush(): update the configuration file if the tags have been modified

HasConfigIni.__init__(self, section, config_ini=None): Initialise the configuration.

HasConfigIni.config: The configuration as a TagSet.

HasConfigIni.config_flush(self): Save the current configuration to the config.ini file if self.__modified.

HasConfigIni.configpath: The path to the config.ini file.

HasConfigIni.info_dict(self, d=None): Return an informational dict containing salient information about this HasCOnfigIni, handy for use with pprint().

load_config(config_path, parser=None)

Load a configuration from the named config_path.

If parser is missing or None, use SafeConfigParser (just ConfigParser in Python 3). Return the parser.

Release Log

Release 20250103: Import and requirement update for recent changes elsewhere.

Release 20220606: HasConfigIni: new info_dict() method (name subject to change) to return a descriptive dict, part of a new scheme I'm trying out to report summary data from commands.

Release 20220430: New HasConfigIni mixin for classes keeping some configuration in a .ini config file section.

Release 20210306: Fix imports from collections.abc.

Release 20190101: Internal changes.

Release 20160828: Update metadata with "install_requires" instead of "requires".

Release 20150118: Initial PyPI release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs_configutils-20250103.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cs_configutils-20250103-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file cs_configutils-20250103.tar.gz.

File metadata

  • Download URL: cs_configutils-20250103.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for cs_configutils-20250103.tar.gz
Algorithm Hash digest
SHA256 997138cf0b643dc7dd4ebc4c8a78861a2b972964e6211718e3e99df87e75f914
MD5 23d9b8e9412098403a69847efdb72750
BLAKE2b-256 f09c9c9ee02fb86bf5ec4c9da3c44e08d0fee1ca33de6f06e4af5bb7ba97d200

See more details on using hashes here.

File details

Details for the file cs_configutils-20250103-py3-none-any.whl.

File metadata

File hashes

Hashes for cs_configutils-20250103-py3-none-any.whl
Algorithm Hash digest
SHA256 7409ea168009d6ccffcbedbf24416f5b37a5abfb3c0c0a53ca5bdce3edff91c1
MD5 120d06d4369e687f8a1a4eb65d4a217e
BLAKE2b-256 c3e46151330309bdfd54e78becee35e5972aeeb741d546c1ce7f482cf27272d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page