flask_imp.config

This module contains the configuration classes for the Flask Imp:

Classes:

  • FlaskConfig: The configuration class for the Flask application.

  • ImpConfig: The configuration class for the Flask Imp.

  • ImpBlueprintConfig: The configuration class for the Flask Blueprint.

  • DatabaseConfig: The base class for database configurations.

  • SQLDatabaseConfig: The base class for SQL database configurations.

  • SQLiteDatabaseConfig: The base class for SQLite database configurations.

class flask_imp.config.FlaskConfig(debug=None, propagate_exceptions=None, trap_http_exceptions=None, trap_bad_request_errors=None, secret_key=None, session_cookie_name=None, session_cookie_domain=None, session_cookie_path=None, session_cookie_httponly=None, session_cookie_secure=None, session_cookie_samesite=None, permanent_session_lifetime=None, session_refresh_each_request=None, use_x_sendfile=None, send_file_max_age_default=None, error_404_help=None, server_name=None, application_root=None, preferred_url_scheme=None, max_content_length=None, templates_auto_reload=None, explain_template_loading=None, max_cookie_size=None, app_instance=None, additional=None)

Bases: object

Flask configuration class modeled after the Flask documentation.

Parameters:
  • debug (bool | None)

  • propagate_exceptions (bool | None)

  • trap_http_exceptions (bool | None)

  • trap_bad_request_errors (bool | None)

  • secret_key (str | None)

  • session_cookie_name (str | None)

  • session_cookie_domain (str | None)

  • session_cookie_path (str | None)

  • session_cookie_httponly (bool | None)

  • session_cookie_secure (bool | None)

  • session_cookie_samesite (Literal['Lax', 'Strict'] | None)

  • permanent_session_lifetime (int | None)

  • session_refresh_each_request (bool | None)

  • use_x_sendfile (bool | None)

  • send_file_max_age_default (int | None)

  • error_404_help (bool | None)

  • server_name (str | None)

  • application_root (str | None)

  • preferred_url_scheme (str | None)

  • max_content_length (int | None)

  • templates_auto_reload (bool | None)

  • explain_template_loading (bool | None)

  • max_cookie_size (int | None)

  • app_instance (Flask | None)

  • additional (Dict[str, Any] | None)

apply_config(app)

Apply the configuration to the Flask app instance.

Parameters:

app (Flask)

Return type:

None

as_dict()

Return the configuration as a dictionary.

Return type:

Dict[str, Any]

as_object()
Return type:

FlaskConfigObject

init_app(app)

Attach the configuration class to the Flask app instance.

Parameters:

app (Flask)

Return type:

None

set_additional(**kwargs)

Set additional config values. Keys are converted to uppercase.

Parameters:

kwargs (Any)

Return type:

None

DEBUG: bool | None
PROPAGATE_EXCEPTIONS: bool | None
TRAP_HTTP_EXCEPTIONS: bool | None
TRAP_BAD_REQUEST_ERRORS: bool | None
SECRET_KEY: str | None
PERMANENT_SESSION_LIFETIME: int | None
SESSION_REFRESH_EACH_REQUEST: bool | None
USE_X_SENDFILE: bool | None
SEND_FILE_MAX_AGE_DEFAULT: int | None
ERROR_404_HELP: bool | None
SERVER_NAME: str | None
APPLICATION_ROOT: str | None
PREFERRED_URL_SCHEME: str | None
MAX_CONTENT_LENGTH: int | None
TEMPLATES_AUTO_RELOAD: bool | None
EXPLAIN_TEMPLATE_LOADING: bool | None
class flask_imp.config.DatabaseConfig(dialect='sqlite', database_name='database', location='', port=0, username='', password='', sqlite_db_extension='.sqlite', bind_key=None, enabled=True)

Bases: object

Database configuration class used by ImpConfig, or ImpBlueprintConfig.

Parameters:
  • dialect (Literal['mysql', 'postgresql', 'sqlite', 'oracle', 'mssql'])

  • database_name (str)

  • location (str)

  • port (int)

  • username (str)

  • password (str)

  • sqlite_db_extension (str)

  • bind_key (str | None)

  • enabled (bool)

allowed_dialects: Tuple[str, ...] = ('mysql', 'postgresql', 'sqlite', 'oracle', 'mssql')
as_dict()

Return the database configuration as a dictionary.

Returns:

the database configuration as a dictionary

Return type:

Dict[str, Any]

uri(app_instance_path)

Return the database URI.

Parameters:

app_instance_path (Path) – the app instance path

Returns:

the database URI

Return type:

str

enabled: bool
dialect: Literal['mysql', 'postgresql', 'sqlite', 'oracle', 'mssql']
bind_key: str | None
database_name: str
location: str
port: int
username: str
password: str
sqlite_db_extension: str
class flask_imp.config.SQLDatabaseConfig(dialect, database_name, location, port, username, password, bind_key=None, enabled=True)

Bases: object

Parameters:
  • dialect (Literal['mysql', 'postgresql', 'oracle', 'mssql'])

  • database_name (str)

  • location (str)

  • port (int)

  • username (str)

  • password (str)

  • bind_key (str | None)

  • enabled (bool)

allowed_dialects: Tuple[str, ...] = ('mysql', 'postgresql', 'oracle', 'mssql')
as_dict()
Return type:

Dict[str, Any]

bind_key: str | None = None
enabled: bool = False
uri()
Return type:

str

dialect: Literal['mysql', 'postgresql', 'oracle', 'mssql']
database_name: str
location: str
port: int
username: str
password: str
class flask_imp.config.SQLiteDatabaseConfig(database_name='database', sqlite_db_extension='.sqlite', location=None, bind_key=None, enabled=True)

Bases: object

Parameters:
  • database_name (str)

  • sqlite_db_extension (str)

  • location (Path | None)

  • bind_key (str | None)

  • enabled (bool)

as_dict()
Return type:

Dict[str, Any]

uri(app_instance_path)
Parameters:

app_instance_path (Path)

Return type:

str

database_name: str
sqlite_db_extension: str
location: Path | None
bind_key: str | None
enabled: bool
class flask_imp.config.ImpConfig(init_session=None, database_main=None, database_binds=None)

Bases: object

Imp configuration class.

Parameters:
IMP_INIT_SESSION: t.Optional[t.Dict[str, t.Any]]
IMP_DATABASE_MAIN: t.Optional[t.Union[DatabaseConfig, SQLiteDatabaseConfig, SQLDatabaseConfig]]
IMP_DATABASE_BINDS: t.Optional[t.Iterable[t.Union[DatabaseConfig, SQLiteDatabaseConfig, SQLDatabaseConfig]]]
class flask_imp.config.ImpBlueprintConfig(enabled=True, url_prefix=None, subdomain=None, url_defaults=None, static_folder=None, template_folder=None, static_url_path=None, root_path=None, cli_group=None, init_session=None, database_binds=None)

Bases: object

Blueprint configuration class used by the ImpBlueprint class.

Parameters:
  • enabled (bool)

  • url_prefix (t.Optional[str])

  • subdomain (t.Optional[str])

  • url_defaults (t.Optional[t.Dict[str, t.Any]])

  • static_folder (t.Optional[str])

  • template_folder (t.Optional[str])

  • static_url_path (t.Optional[str])

  • root_path (t.Optional[str])

  • cli_group (t.Optional[str])

  • init_session (t.Optional[t.Dict[str, t.Any]])

  • database_binds (t.Optional[t.Iterable[t.Union[DatabaseConfig, SQLDatabaseConfig, SQLiteDatabaseConfig]]])

cli_group: t.Optional[str] = None
database_binds: t.Optional[t.Iterable[t.Union[DatabaseConfig, SQLDatabaseConfig, SQLiteDatabaseConfig]]] = None
flask_blueprint_args()
Return type:

Dict[str, Any]

init_session: t.Optional[t.Dict[str, t.Any]] = None
root_path: t.Optional[str] = None
static_folder: t.Optional[str] = None
static_url_path: t.Optional[str] = None
subdomain: t.Optional[str] = None
template_folder: t.Optional[str] = None
url_default: t.Optional[t.Dict[str, t.Any]] = None
url_prefix: t.Optional[str] = None
enabled: bool