Configuration¶
- pydantic settings horizon.backend.settings.Settings¶
Horizon backend settings.
Backend can be configured in 2 ways:
By explicitly passing
settingsobject as an argument toapplication_factoryBy setting up environment variables matching a specific key.
All environment variable names are written in uppercase and should be prefixed with
HORIZON__. Nested items are delimited with__.
More details can be found in Pydantic documentation.
Examples
# same as settings.database.url = "postgresql+asyncpg://postgres:postgres@localhost:5432/horizon" HORIZON__DATABASE__URL=postgresql+asyncpg://postgres:postgres@localhost:5432/horizon # same as settings.server.debug = True HORIZON__SERVER__DEBUG=True # same as settings.auth.provider = horizon.backend.providers.auth.dummy.DummyAuthProvider HORIZON__AUTH__PROVIDER=horizon.backend.providers.auth.dummy.DummyAuthProvider
- Config:
env_prefix: str = HORIZON__
env_nested_delimiter: str = __
- Fields:
- field database: DatabaseSettings [Required]¶
- field server: ServerSettings [Optional]¶
- field auth: AuthSettings [Optional]¶
- class Config¶
- pydantic settings horizon.backend.settings.server.ServerSettings¶
Backend server settings.
Examples
HORIZON__SERVER__DEBUG=True HORIZON__SERVER__LOGGING__PRESET=colored HORIZON__SERVER__MONITORING__ENABLED=True HORIZON__SERVER__CORS__ENABLED=True HORIZON__SERVER__REQUEST_ID__ENABLED=True HORIZON__SERVER__OPENAPI__ENABLED=True HORIZON__SERVER__OPENAPI__SWAGGER__ENABLED=True HORIZON__SERVER__OPENAPI__REDOC__ENABLED=True
- Fields:
application_version (horizon.backend.settings.server.application_version.ApplicationVersionSettings)logging (horizon.backend.settings.server.log.LoggingSettings)monitoring (horizon.backend.settings.server.monitoring.MonitoringSettings)openapi (horizon.backend.settings.server.openapi.OpenAPISettings)request_id (horizon.backend.settings.server.request_id.RequestIDSettings)static_files (horizon.backend.settings.server.static_files.StaticFilesSettings)
- field debug: bool = False¶
Enable debug output in responses. Do not use this on production!
- field logging: LoggingSettings [Optional]¶
- field cors: CORSSettings [Optional]¶
- field monitoring: MonitoringSettings [Optional]¶
- field request_id: RequestIDSettings [Optional]¶
- field application_version: ApplicationVersionSettings [Optional]¶
- field static_files: StaticFilesSettings [Optional]¶
- field openapi: OpenAPISettings [Optional]¶