A Flyweight pattern for loading yaml files
Project description
[![Build Status](https://travis-ci.org/simongarisch/yamlsettings.svg?branch=master)](https://travis-ci.org/simongarisch/yamlsettings)
[![Coverage Status](https://coveralls.io/repos/github/simongarisch/yamlsettings/badge.svg?branch=master)](https://coveralls.io/github/simongarisch/yamlsettings?branch=master)
[![PyPI version](https://badge.fury.io/py/pyyamlsettings.svg)](https://badge.fury.io/py/pyyamlsettings)
# pyyamlsettings
A Flyweight pattern for loading yaml files in Python.
## Installation
pyyamlsettings is python 2 and 3 compatible.
```bash
pip install pyyamlsettings
```
## Overview
There is a YamlSettings class exposed by the package that allows you to load and query yaml files.
Suppose we have a yaml file with the structure:
```
att1: 42
att2: "This is a string"
level1:
a: 1
b: 2
level2:
a: 3
b: 4
```
We can load this file:
```python
import os
import pyyamlsettings
yaml_file_path = os.path.join("tests", "test_yaml_file.yaml")
settings = pyyamlsettings.YamlSettings(yaml_file_path)
```
And read particular items with:
```python
result = settings.get_data("att1")
print(result) # 42
result = settings.get_data("level1", "level2", "b")
print(result) # 4
```
[![Coverage Status](https://coveralls.io/repos/github/simongarisch/yamlsettings/badge.svg?branch=master)](https://coveralls.io/github/simongarisch/yamlsettings?branch=master)
[![PyPI version](https://badge.fury.io/py/pyyamlsettings.svg)](https://badge.fury.io/py/pyyamlsettings)
# pyyamlsettings
A Flyweight pattern for loading yaml files in Python.
## Installation
pyyamlsettings is python 2 and 3 compatible.
```bash
pip install pyyamlsettings
```
## Overview
There is a YamlSettings class exposed by the package that allows you to load and query yaml files.
Suppose we have a yaml file with the structure:
```
att1: 42
att2: "This is a string"
level1:
a: 1
b: 2
level2:
a: 3
b: 4
```
We can load this file:
```python
import os
import pyyamlsettings
yaml_file_path = os.path.join("tests", "test_yaml_file.yaml")
settings = pyyamlsettings.YamlSettings(yaml_file_path)
```
And read particular items with:
```python
result = settings.get_data("att1")
print(result) # 42
result = settings.get_data("level1", "level2", "b")
print(result) # 4
```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyyamlsettings-0.0.2.tar.gz
(4.0 kB
view hashes)
Built Distributions
Close
Hashes for pyyamlsettings-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 203046558429fe0eab847729164a451e160b5b05b64a4c6c4337a33e036bc34f |
|
MD5 | 1b3acda56164d1c085aba751691ffcea |
|
BLAKE2b-256 | e596d9c301f9b90400c4be530f487c3658fb8890e1c5c8b752dc28f2ae8c3d8c |
Close
Hashes for pyyamlsettings-0.0.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 565279d9f8b42648657fb2fa23d7b74612aa5bed686ccb9cc4579cd5ff0c683c |
|
MD5 | 49e561c2a2ade6773875d3f5ff400789 |
|
BLAKE2b-256 | 0e717c4496b617b4a2040571dcef856407908a970675a3324d77906f5b310826 |