# MFC Configuration Loader
[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)
## Introduction
MFC Configuration Loader streamlines YAML-based configuration management with features such as multi-file support, variables, strong typing, and more.
### Features
1. **Multiple Configuration Files**: Configurations can be separated into multiple files to better organize and segregate them based on environment, purpose, and any other criteria.
2. **Variables**: Can define variables referencing other configurations or environment variables.
3. **Strong Typing**: Configurations are loaded into the tuple hierarchy, enabling accessing node properties via dot notation.
## Installation
```shell
pip install mfc-config-loader
```
## Usage
> **Note**
> Additonal usage examples will be added soon.
```yaml
# .config.yaml
gcp:
project_id: my-project-id
sa_key_filepath: /path/to/key.json
default_dataset: ${project_id}.my_dataset
```
```python
# main.py
configs = ConfigLoader().load("gcp")
project_id = configs.project_id
sa_key_file = configs.sa_key_filepath
default_dataset = configs.default_dataset
```
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
## License
[MIT](https://choosealicense.com/licenses/mit/)
Raw data
{
"_id": null,
"home_page": "",
"name": "mfc-config-loader",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "config,config loader,config manager",
"author": "",
"author_email": "Vitaliy Gogolev <vitaliy@gogolevs.com>",
"download_url": "https://files.pythonhosted.org/packages/53/7b/3a50a7597d1b36f4c512e14cda57c1ce68fda41bf3487a5ffed1839f19a8/mfc-config-loader-0.0.5.tar.gz",
"platform": null,
"description": "# MFC Configuration Loader\n\n[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)\n\n## Introduction\nMFC Configuration Loader streamlines YAML-based configuration management with features such as multi-file support, variables, strong typing, and more.\n\n\n### Features\n\n1. **Multiple Configuration Files**: Configurations can be separated into multiple files to better organize and segregate them based on environment, purpose, and any other criteria.\n\n2. **Variables**: Can define variables referencing other configurations or environment variables.\n\n3. **Strong Typing**: Configurations are loaded into the tuple hierarchy, enabling accessing node properties via dot notation.\n\n## Installation\n\n```shell\npip install mfc-config-loader\n```\n\n\n## Usage\n\n> **Note** \n> Additonal usage examples will be added soon.\n\n```yaml\n# .config.yaml\ngcp:\n project_id: my-project-id\n sa_key_filepath: /path/to/key.json\n default_dataset: ${project_id}.my_dataset\n```\n\n```python\n# main.py\nconfigs = ConfigLoader().load(\"gcp\")\n\nproject_id = configs.project_id\nsa_key_file = configs.sa_key_filepath\ndefault_dataset = configs.default_dataset\n\n```\n\n\n## Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n## License\n[MIT](https://choosealicense.com/licenses/mit/)\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Streamlines access and management of YAML-based configurations",
"version": "0.0.5",
"project_urls": {
"Repository": "https://github.com/vgogolev/mfc-config-loader.git"
},
"split_keywords": [
"config",
"config loader",
"config manager"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "be5865b6af88c6dfb56c6d7117eaff4f078d2374b15529510b1f9b58a5951a0c",
"md5": "582d6bac21999cf0aa4b572fb37e9683",
"sha256": "e002db0281f3894e99717b998ecb669b407359a0a714e8e754e4f79b771d315b"
},
"downloads": -1,
"filename": "mfc_config_loader-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "582d6bac21999cf0aa4b572fb37e9683",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 4520,
"upload_time": "2023-12-14T21:38:20",
"upload_time_iso_8601": "2023-12-14T21:38:20.619983Z",
"url": "https://files.pythonhosted.org/packages/be/58/65b6af88c6dfb56c6d7117eaff4f078d2374b15529510b1f9b58a5951a0c/mfc_config_loader-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "537b3a50a7597d1b36f4c512e14cda57c1ce68fda41bf3487a5ffed1839f19a8",
"md5": "6c88f08ee079ae0092476b00ebb04a00",
"sha256": "fdbd09ed8c84b94978dfacbb33f7b200fb5ca171eb6661cb53c2777100ddcb94"
},
"downloads": -1,
"filename": "mfc-config-loader-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "6c88f08ee079ae0092476b00ebb04a00",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4432,
"upload_time": "2023-12-14T21:38:21",
"upload_time_iso_8601": "2023-12-14T21:38:21.954855Z",
"url": "https://files.pythonhosted.org/packages/53/7b/3a50a7597d1b36f4c512e14cda57c1ce68fda41bf3487a5ffed1839f19a8/mfc-config-loader-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-14 21:38:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vgogolev",
"github_project": "mfc-config-loader",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "mfc-config-loader"
}