Richard Wen
A Python module for managing config files in keyword style json format.
pip install kwconfig
For the latest developer version, see Developer Install.
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.
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
- 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
- Ensure sphinx is installed
pip install -U sphinx
- Update the documentation in
docs/
pip install . -I sphinx-build -b html docs/source docs
- Ensure git is installed
- Add all files and commit changes
- Push to github
git add . git commit -a -m "Generic update" git push
- 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/*