Skip to content

configTemplate v0.1.0

Compare
Choose a tag to compare
@RealA10N RealA10N released this 31 May 22:41
ea19d6c

Build PyPI PyPI - Python Version GitHub Repo stars
Easily define configuration file structures, and check if a given configuration file matches the template.

Installation

configTemplate is tested on CPython 3.6, 3.7, 3.8 and 3.9.
Simply install using pip:

pip install configTemplate

Usage

To create a template, you will need the basic Template module, and usually the other two basic modules TemplateList and TemplateDict.

from configTemplate import Template, TemplateList, TemplateDict

Now, lets create a basic template that represents a single user:

TemplateUser = TemplateDict(    # a dictionary with 2 required values
    username=Template(str),     # username must be a string
    passcode=Template(int, str) # can be a string or an integer.
)

Check if data matches your template using the check method:

errors = TemplateUser.check({'username': 'RealA10N', 'passcode': 12345})
# the check method returns a `TemplateCheckErrorManager` instance
# read full documentation for more information.

if errors:
    print(f'Found {errors.count} conflicts:')
    print(errors)   # prints a detailed and colored error list

else:
    print('data follows the template!')

Using configTemplate as a dependency

configTemplate is still under active development, and some core features may change substantially in the near future.

If you are planning to use configTemplate as a dependency for your project, we highly recommend to specify the exact version of the module you are using in the requirements.txt file or setup.py scripts.

For example, to pinpoint version v0.1.0 use the following line in your requirements.txt file:

configTemplate==0.1.0