A Python module for managing config files in keyword style json format.
Project description
Install
pip install kwconfig
For the latest developer version, see Developer Install.
Usage
import kwconfig
# Specify a file path for creating kwconfig object
config = kwconfig.manage('config.json', defaults={'key0': 'value0'})
# Update the config file with a key and value dict
config.update({'key1': 'value1', 'key2': 'value2'})
# Add a keyword dict to existing config file
# If a key exists, it will be updated
# If a key does not exist, it will be added
other_config = {'key3': 'value3'}
other_config = config.add(other_config)
# Write new values using keyword dict
config.overwrite({
'new_key1': 'new_value1',
'new_key2': 'new_value2'
})
# Obtain a dict of the config file contents
kw = config.read()
# Remove the key named "key1"
config.remove('key1')
# Reset to defaults
config.reset()
# Parsing a keyword list into dict ----
# Create a sample list of keyword arguments
argv = ['--key1=value1', '--key2=value2']
# Parse into a keyword dict
kwdict = kwconfig.parse(argv)
# View the values of key1 and key2
print('key1: ' + kwdict['key1'])
print('key2: ' + kwdict['key2'])
For more usage details, see the Documentation.
Developer Notes
Developer Install
Install the latest developer version with pip from github:
pip install git+https://github.com/rrwen/kwconfig
Install from git cloned source:
Ensure git is installed
Clone into current path
Install via pip
git clone https://github.com/rrwen/kwconfig cd kwconfig pip install . -I
Tests
Clone into current path git clone https://github.com/rrwen/kwconfig
Enter into folder cd kwconfig
Ensure unittest is available
Run tests
pip install . -I python -m unittest
Documentation Maintenance
Ensure sphinx is installed pip install -U sphinx
Update the documentation in docs/
pip install . -I sphinx-build -b html docs/source docs
Upload to Github
Ensure git is installed
Add all files and commit changes
Push to github
git add . git commit -a -m "Generic update" git push
Upload to PyPi
Ensure twine is installed pip install twine
Ensure sphinx is installed pip install -U sphinx
Run tests and check for OK status
Delete dist directory
Update the version in kwconfig/__init__.py
Update the documentation in docs/
Create source distribution
Upload to PyPi
pip install . -I python -m unittest sphinx-build -b html docs/source docs python setup.py sdist twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.