Skip to main content

Env and file based configuration for Flask

Project description

Flask-Configurator

Env and file based configuration for Flask

Installation

pip install flask-configurator

Usage

from flask import Flask
from flask_configurator import Configurator

app = Flask(__name__)
Configurator(app)

By default this will load configuration from:

  • environment variables with the FLASK_ prefix
  • .env (only variables with the FLASK_ prefix)
  • .env.ENV (only variables with the FLASK_ prefix)
  • config.yml
  • config.ENV.yml

Where ENV is the environment defined as defined by:

  1. development if app.debug, production otherwise
  2. FLASK_ENV environment variable
  3. ENV key from any loaded file

Options

Configurator(
    app,
    default_file="config.yml", # default configuration file to load from (set to None to disable)
    env_prefix="FLASK", # environment variable prefix
    default_env="production", # default env name (None for default, False to not set any env)
)

Supported configuration formats: yml, json, toml.

Manual loading

Rather than going through an extension, you can use our custom Config class.

from flask_configurator import Config
config = Config()
config.load()
print(config["KEY"])
app.config.update(config)

Use it as your flask config class:

from flask import Flask
from flask_configurator import Config

class CustomFlask(Flask):
    config_class = Config

app = CustomFlask(__name__)
app.config.load()

Project details


Download files

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

Source Distribution

flask_configurator-0.1.0.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

flask_configurator-0.1.0-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

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