Skip to main content

Library to use .json files as configuration objects using namedtuple.

Project description

Library to use .json files as configuration objects using namedtuple.

This library let’s you use .json files as “objects” within your code.

Installation

pip install git+https://github.com/yeyeto2788/Utils-Config

Usage

Create a file called config.json (you can change the name to something you like) and add some content to it.

In this demo we add the following data.

{
  "temperature": 30,
  "screen": {
    "width": 640,
    "height": 480
  },
  "name": null,
  "id": "4V3RYCR4ZY1D"
}

Now let’s head over Python and test the module and its functions.

Importing the module and loading our .json file.

import utils_config
config_file="./config.json"
config = utils_config.load_config(config_file)

Now let’s see what we’ve got in the config variable, serializing it into a dictionary.

utils_config.serialize_config(config)

Let’s access to its keys/attributes.

config.temperature
config.screen.width
config.name
config.id

Edit the current configuration (Take into account that this function will return a new configuration namedtuple)

config = utils_config.edit_config(config, {"id": "another_id"})
config.id

Save the configuration to a file.

utils_config.save_config(config_file, config)

Contributing

All contributions, pull requests and comments are welcome!

When contributing it is important to test the module in order to make sure everything is working as expected. For that install dependencies to run the tests.

pip install pytest pytest-cov mock pylint

Running tests and see coverage.

py.test --cov -v --cov-config=.coveragerc --cov-report=html

This will generate a report with the coverage which is at 100% now, let’s try to keep it at the same percentage.

Project details


Release history Release notifications

Download files

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

Files for Utils-Config, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size Utils_Config-1.0.0-py3-none-any.whl (5.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size Utils-Config-1.0.0.tar.gz (10.9 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 DigiCert DigiCert EV certificate StatusPage StatusPage Status page