Metadata-Version: 2.1
Name: ezcfg
Version: 0.1.2
Summary: Simple python configuration tool
Home-page: https://github.com/shalev67/EZconfig
Author: Yuval Shalev
Author-email: shalev67@gmail.com
License: MIT license
Keywords: ezcfg
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7

Simple python configuration tool
================================
ezcfg is a python package that allow you to easily maintain and access 
configuration throughout your project 

* easy registration of configuration
* easy access to configuration
* easy type validation of configuration
* easy loading of configuration from json, ini, or environment variables

How to install
--------------
```bash
pip install ezcfg
```

How to use
----------
register your first configuration
```python
from ezcfg.config import ezcfg
ezcfg.register_config(name='myfirstconfig', config_type=str, default='configvalue')

# Access of configuration
print(ezcfg.myfirstconfig)
# "configvalue"
```
load your config from ini, json, and environment variables
```python
from ezcfg.config import ezcfg
ezcfg.register_config(name='myfirstconfig', config_type=str, default='configvalue')
# load config from json file
ezcfg.load_config_from_json_file('myconfigpath.json')

# load config from ini file
ezcfg.load_config_from_ini_file('myconfigpath.ini', section='DEFAULT')

# load config from environment variables
# you first need to set env_var name
ezcfg.register_config(name='myfirstconfig', config_type=str, default='configvalue', env_var='MYFIRSTCONFIG')
# this will load from MYFIRSTCONFIG env var
ezcfg.load_config_from_env()
```
automatic type checking
```python
from ezcfg.config import ezcfg
# will raise TypeError
ezcfg.register_config(name='myfirstconfig', config_type=int, default='configvalue')
```

status
------
[![Build Status](https://travis-ci.com/shalev67/EZconfig.svg?branch=master)](https://travis-ci.com/shalev67/EZconfig)


