A multi-layered approach to settings
Project description
This provides a simple way to handle settings in a multi-layer fashion, which allows you to composing settings by add in different configuration components. It will read from files, objects, and environment variables.
Example Usage:
from flapjack_stack import FlapjackStack settings = FlapjackStack() settings.add_layer_from_file('/path/to/our_file') settings.add_layer(thing) settings.add_layer_from_env()
Which will create a new FlapjackStack instance, then read settings in from a file, then the thing object and finally from the environment. This would result in a group of settings like:
Layer |
Source |
---|---|
3 |
loaded from env |
2 |
loaded from thing object |
1 |
loaded from ‘/path/to/our_file’ |
Base |
Empty created during init |
And settings would be returned from the top to the bottom. For example if we had a setting called COOKIES in both the thing object and our_file, the one from the thing object would be returned.
NOTE add_layer_from_env() only searchs for environment variables already in the settings object regardless of their layer that are prefixed with an FJS_ at the moment it is called. So if you add the variable later, it will not be seen.
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 flapjack_stack-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4244164da5b525accbe29184923f2b1f6e1179cdcc48e9dc952a192e8efb191 |
|
MD5 | c18efc35e23c2961893078af1d4114a3 |
|
BLAKE2b-256 | 50d4bb9adf03289abeccfbdd81c9a94cc53cf31ba835e1eca5c4276fc1981c27 |