Skip to content
/ kwconfig Public

A Python module for managing config files in keyword style json format.

License

Notifications You must be signed in to change notification settings

rrwen/kwconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kwconfig

A Python module for managing config files in keyword style json format.

image

image

image

image

image

image

image

image

Install

  1. Install Python
  2. Install kwconfig via pip
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:

  1. Ensure git is installed
  2. Clone into current path
  3. Install via pip
git clone https://github.com/rrwen/kwconfig
cd kwconfig
pip install . -I

Tests

  1. Clone into current path git clone https://github.com/rrwen/kwconfig
  2. Enter into folder cd kwconfig
  3. Ensure unittest is available
  4. Run tests
pip install . -I
python -m unittest

Documentation Maintenance

  1. Ensure sphinx is installed pip install -U sphinx
  2. Update the documentation in docs/
pip install . -I
sphinx-build -b html docs/source docs

Upload to Github

  1. Ensure git is installed
  2. Add all files and commit changes
  3. Push to github
git add .
git commit -a -m "Generic update"
git push

Upload to PyPi

  1. Ensure twine is installed pip install twine
  2. Ensure sphinx is installed pip install -U sphinx
  3. Run tests and check for OK status
  4. Delete dist directory
  5. Update the version in kwconfig/__init__.py
  6. Update the documentation in docs/
  7. Create source distribution
  8. Upload to PyPi
pip install . -I
python -m unittest
sphinx-build -b html docs/source docs
python setup.py sdist
twine upload dist/*

Releases

No releases published

Packages

No packages published

Languages