Configuration

pydantic settings horizon.backend.settings.Settings

Horizon backend settings.

Backend can be configured in 2 ways:

  • By explicitly passing settings object as an argument to application_factory

  • By 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]

Database settings

field server: ServerSettings [Optional]

Server settings

field auth: AuthSettings [Optional]

Auth setting

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:
field debug: bool = False

Enable debug output in responses. Do not use this on production!

field logging: LoggingSettings [Optional]

Logging settings

field cors: CORSSettings [Optional]

CORS settings

field monitoring: MonitoringSettings [Optional]

Monitoring settings

field request_id: RequestIDSettings [Optional]

RequestID settings

field application_version: ApplicationVersionSettings [Optional]

Application version settings

field static_files: StaticFilesSettings [Optional]

Static files settings

field openapi: OpenAPISettings [Optional]

OpenAPI.json settings