The Settings and Configuration on ideal practices for cloud-native app development and package building.
- Free software: MIT license
- Documentation: https://configalchemy.readthedocs.io.
$ pipenv install configalchemy
✨🍰✨
Only Python 3.6+ is supported.
from configalchemy import BaseConfig
class DefaultConfig(BaseConfig):
NAME = "test"
config = DefaultConfig()
config.NAME
>>> 'test'
Base on The Twelve-Factor App Configuration.
Configurable dynamic configurator
Configuration-Oriented Development
- Define default config value and its type which is used in your project
- Use class to support inheritance to explicitly define configurable config
Override config value from multiple source with priority supported
- Callable function return value
- File (default: json)
- Environment Variables
Proper Typecast before overriding
Generic Config Type Support by custom typecast
Lazy and Proxy Object Support.
Extension
- Full Apollo - A reliable configuration management system Features Support
- IOC - Injector, Singleton