Standalone Loader class for simplification of loading configurations from YAML, JSON, SQL or TXT files.
Project description
Introduction
Standalone Loader class simplifies loading of content from files .yaml
, .json
, .sql
, and .txt
.
Quick Start
# import the Loader class
from surquest.utils.loader import Loader
# load a yaml file
config_yaml = Loader.load(path="./path/to/config.yaml")
# alternatively load of yaml file
config_yaml = Loader.load_yaml(path="./path/to/config.yaml")
# load a json file
config_json = Loader.load(path="./path/to/config.json")
# alternatively load of json file
config_json = Loader.load_json(path="./path/to/config.json")
# load a sql file
config_sql = Loader.load(path="./path/to/config.sql")
# alternatively load of sql file
config_sql = Loader.load_sql(path="./path/to/config.sql")
Installation
pip install surquest-utils-loader
Additional information
Content loaded from JSON or YAML files is returned as a DictDot (dictionary which keys are accessible as attributes). This allows you to access the content of the file using the dot notation. Lets assume example.yaml contains the following content:
---
family:
name: Smith
members:
- name: John # father
age: 40
- name: Jane # mother
age: 38
You can access the content of the file using the dot notation:
from surquest.utils.loader import Loader
config = Loader.load_yaml(path="./path/to/example.yaml")
print(config.family.name) # Smith
print(config.family.members[0].name) # John
print(config.family.members[1].name) # Jane
In case you don't want to use the dot notation you can use the standard dictionary as output format for the loaded content:
from surquest.utils.loader import Loader
config = Loader.load_yaml(path="./path/to/example.yaml", output_type=dict)
Local development
You are more than welcome to contribute to this project. To make your start easier we have prepared a docker image with all the necessary tools to run it as interpreter for Pycharm or to run tests.
Build docker image
docker build `
--tag surquest/utils/loader `
--file package.base.dockerfile `
--target test .
Run tests
docker run --rm -it `
-v "${pwd}:/opt/project" `
-w "/opt/project/test" `
surquest/utils/loader pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for surquest_utils_loader-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17bb44f48f46c884f9985b023a70c1b4a3701b9caec610e212631a8452268cd4 |
|
MD5 | dd593c7d3524270b1e8c16189faf28e6 |
|
BLAKE2b-256 | 9b3b398b036544eeaa412d4c927cc6eb53812bb77a09bcb9caefe84ce78fc668 |
Hashes for surquest_utils_loader-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa501edb5916cd54d824fe1df7f7df0a0645c2b6aacb0abf1c9e8e559bd31444 |
|
MD5 | 799b4d5f6d734094e8c50c5cdb0a2ee1 |
|
BLAKE2b-256 | 08a1b8bcce5aa9ed37383e64e835bacdaf856d48c0eb5de0006196d0220a0a3d |