Skip to main content

Utility for the settings file

Project description

CircleCI Status CodeCov Status

When describing in python of the configuration file, you need to change it in each environment. For example settings.py of Django. This package provides the utility to assist it.

Install

$ pip install custom_settings

How to use it

settings_custom.py

AUTH_CREDENTIAL = 'MY_CREDENTIAL'
INTEGER_VALUE = '1'

Do the following to use this configuration file.

>>> import custom_settings
>>> custom = custom_settings.load('settings_custom')
>>> custom.get('AUTH_CREDENTIAL')
'MY_CREDENTIAL'

If you specified type_ argument, convert type to.

>>> custom.get('INTEGER_VALUE', type_=int, default=10)
1

If you specify True in use_environ, if it does not exist in settings_custom, acquired from the os.environ.

>>> custom.get('PS1', use_environ=True)
'$ '

If you specify default, if it does not exist in settings_custom, to used default.

>>> custom.get('NO_SET_VALUE', default=10)
10

If you specify True in raise_exception, if it does not exist in settings_custom, raise exception.

>>> custom.get('NO_SET_VALUE', use_environ=True, raise_exception=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/envs/3.5/lib/python3.5/site-packages/custom_settings/adapters.py", line 40, in get
    raise exc.NoCustomSettingError('Not been set: {}'.format(name))
custom_settings.exc.NoCustomSettingError: Not been set: NO_SET_VALUE

Other

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page