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
File details
Details for the file surquest_utils_loader-0.0.1.tar.gz
.
File metadata
- Download URL: surquest_utils_loader-0.0.1.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17bb44f48f46c884f9985b023a70c1b4a3701b9caec610e212631a8452268cd4 |
|
MD5 | dd593c7d3524270b1e8c16189faf28e6 |
|
BLAKE2b-256 | 9b3b398b036544eeaa412d4c927cc6eb53812bb77a09bcb9caefe84ce78fc668 |
File details
Details for the file surquest_utils_loader-0.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: surquest_utils_loader-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa501edb5916cd54d824fe1df7f7df0a0645c2b6aacb0abf1c9e8e559bd31444 |
|
MD5 | 799b4d5f6d734094e8c50c5cdb0a2ee1 |
|
BLAKE2b-256 | 08a1b8bcce5aa9ed37383e64e835bacdaf856d48c0eb5de0006196d0220a0a3d |