https://github.com/teamhide/confparser
Python config parser library
https://github.com/teamhide/confparser
Last synced: about 1 year ago
JSON representation
Python config parser library
- Host: GitHub
- URL: https://github.com/teamhide/confparser
- Owner: teamhide
- License: mit
- Created: 2020-05-20T00:42:13.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-03-25T23:45:57.000Z (over 5 years ago)
- Last Synced: 2025-03-19T10:25:11.899Z (over 1 year ago)
- Language: Python
- Size: 18.6 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Python Config Parser Library
[![license]](/LICENSE)
[![pypi]](https://pypi.org/project/confparser/)
[![pyversions]](http://pypi.python.org/pypi/confparser)

[](https://pepy.tech/project/confparser)
confparser is a config parser by yml file or dictionary.
In confparser, you can easily access to value through dot notation.
Like, `conf.debug`, `conf.server.dev.debug`.
## Installation
```python
pip3 install confparser
```
## Usage
### Config by .yml file
Create yml file
```yaml
debug: True
server:
dev:
debug: True
port: 8000
prod:
debug: False
port: 80
```
Import confparser and insert your yml file.
```python
from confparser import ConfParser
config = ConfParser(path='./config.yml').to_obj()
print(config)
# {'debug': True, 'server': {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}}
print(config.debug)
# True
print(config.server)
# {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}
print(config.server.dev)
# {'debug': True, 'port': 8000}
print(config.server.dev.debug)
# True
print(config.server.dev.port)
# 8000
print(config.server.prod.debug)
# False
print(config.server.prod.port)
# 80
```
### Config by dictionary
Import confparser and insert your dictionary.
```python
from confparser import ConfParser
conf_dict = {
'debug': True,
'server': {
'dev': {
'debug': True,
'port': 8000,
},
'prod': {
'debug': False,
'port': 80,
},
}
}
config = ConfParser(conf_dict=conf_dict).to_obj()
print(config)
# {'debug': True, 'server': {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}}
print(config.debug)
# True
print(config.server)
# {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}
print(config.server.dev)
# {'debug': True, 'port': 8000}
print(config.server.dev.debug)
# True
print(config.server.dev.port)
# 8000
print(config.server.prod.debug)
# False
print(config.server.prod.port)
# 80
```
## Note
`path` and `conf_dict` cannot be used at once.
## Dependencies
To use parsing yml file, `pyyaml` is needed.
But it will be install automatically with confparser so you don't have to install manually.
[license]: https://img.shields.io/badge/License-MIT-yellow.svg
[pypi]: https://img.shields.io/pypi/v/confparser
[pyversions]: https://img.shields.io/pypi/pyversions/confparser