1- Python -config-parser
1+ python -config-parser
22===
33---
44[ ![ Tests] ( https://github.com/BrunoSilvaAndrade/python-config-parser/actions/workflows/tests.yml/badge.svg )] ( https://github.com/BrunoSilvaAndrade/python-config-parser/actions/workflows/tests.yml )
55[ ![ PyPI version] ( https://badge.fury.io/py/python-config-parser.svg )] ( https://badge.fury.io/py/python-config-parser )
66[ ![ Coverage Status] ( https://coveralls.io/repos/github/BrunoSilvaAndrade/python-config-parser/badge.svg )] ( https://coveralls.io/github/BrunoSilvaAndrade/python-config-parser )
77
8- This project was created to give you the possibility
9- of creating runtime configuration objects using json or yaml files.
8+ python-config-parser lets you create runtime configuration objects using json or yaml files.
109
1110MAIN FEATURES
1211===
@@ -20,7 +19,7 @@ MAIN FEATURES
2019HOW TO INSTALL
2120===
2221---
23- Use pip to install it.
22+ Use ` pip ` to install it.
2423
2524``` shell
2625pip install python-config-parser
@@ -29,21 +28,16 @@ pip install python-config-parser
2928HOW TO USE
3029===
3130---
32- First of all the config file will look for default config files if you do not pass your own config file for this .
31+ By default, the config file will look for the following config files in the ` .config ` directory: ` config.json ` , ` config.yaml ` , ` config.yml ` .
3332
34- The default config directory is ./config(if you do not pass the config directory of your preference) assuming your current directory.
33+ You can also pass a config directory of your preference ( assuming your current directory) .
3534
36- The default config files names are -> (config.json, config.yaml, config.yml)
37-
38-
39-
40-
41- The Schema validation.
35+ Schema validation
4236---
4337
44- You may use or not schema validation, if you want to use it, it will validate your whole config object before returning it.
38+ You may or may not use schema validation. If you want to use it, it will validate the whole config object before returning it.
4539
46- If you don't want to use it, it won't validate the config object before returning that , and it may generate runtime access inconsistencies.
40+ If you choose not to use it, it won't validate the config object before returning it , and it may generate runtime access inconsistencies.
4741
4842How to use schema
4943
@@ -67,7 +61,7 @@ SCHEMA_CONFIG = {
6761
6862```
6963
70- The config.yml file
64+ The ` config.yml ` file
7165``` yaml
7266core :
7367 random_env_variable : ${RANDOM_ENV_VARIABLE}
8074 - ip : 192.168.0.11
8175 timeout : 100
8276` ` `
83- This config file as a json would be something like:
77+ A json config file would be something like:
8478
8579` ` ` json
8680{
@@ -105,7 +99,6 @@ This config file as a json would be something like:
10599```
106100
107101The instance of Config Class:
108-
109102``` python
110103from pyconfigparser import configparser, ConfigError
111104import logging
@@ -118,9 +111,8 @@ except ConfigError as e:
118111
119112# to access your config you need just:
120113
121-
122- fmt = config.core.logging.format # look this, at this point I'm already using the config variable
123- date_fmt = config[' core' ][' logging' ][' date_fmt' ] # here subscriptable access
114+ fmt = config.core.logging.format # look this, at this point I'm already using the config variable
115+ date_fmt = config[' core' ][' logging' ][' date_fmt' ] # here subscriptable access
124116
125117logging.getLogger(__name__ )
126118
@@ -135,7 +127,7 @@ logging.basicConfig(
135127for client in config.core.allowed_clients:
136128 print (client.ip)
137129 print (client.timeout)
138-
130+
139131# The config object's parts which is not a list can also be itered but, it'll give you the attribute's names
140132# So you can access the values by subscriptale access
141133for logging_section_attr_key in config.core.logging:
@@ -156,13 +148,13 @@ config = configparser.get_config() # At this point you already have the configu
156148
157149You can also disable the action to cache the instance config
158150
151+
159152``` python
160153from pyconfigparser import configparser
161154
162155configparser.hold_an_instance = False
163156```
164157
165-
166158CONTRIBUTE
167159---
168160---
0 commit comments