ConfigAlchemy CI Test Status Documentation Status

The Settings and Configuration on ideal practices for app development and package building.


$ pipenv install configalchemy

Only Python 3.6+ is supported.


from configalchemy import BaseConfig

class DefaultConfig(BaseConfig):
    NAME = "test"

config = DefaultConfig()
>>> '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


  • IOC - Injector, Singleton