Skip to main content

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

Project description

https://badge.fury.io/py/kwconfig.svg https://img.shields.io/github/issues/rrwen/kwconfig.svg https://travis-ci.org/rrwen/kwconfig.svg?branch=master https://coveralls.io/repos/github/rrwen/kwconfig/badge.svg?branch=master https://img.shields.io/badge/license-MIT-blue.svg https://img.shields.io/github/forks/rrwen/kwconfig.svg https://img.shields.io/github/stars/rrwen/kwconfig.svg https://img.shields.io/twitter/url/https/github.com/rrwen/kwconfig.svg?style=social

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/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kwconfig, version 1.1.7
Filename, size File type Python version Upload date Hashes
Filename, size kwconfig-1.1.7.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page