Easily define and check configuration file structures
Project description
configTemplate
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
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
Built Distribution
Hashes for configTemplate-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa8cb7028cd4d584c46c5ab5ff1d9763195f8b8ab28c8f063d7ec9ecc96b90aa |
|
MD5 | cd059af4efea0839e7e7e5cc94f86a1f |
|
BLAKE2b-256 | 3f8ffd2535434affc7f7f3fac42999c85d3bbb89746d401de874537f8f84858d |