Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flapjack-stack, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size flapjack_stack-1.0.0-py2.py3-none-any.whl (5.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size flapjack_stack-1.0.0.tar.gz (3.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page