bikes.settings

Define settings for the application.

 1"""Define settings for the application."""
 2
 3# %% IMPORTS
 4
 5import pydantic as pdt
 6import pydantic_settings as pdts
 7
 8from bikes import jobs
 9
10# %% SETTINGS
11
12
13class Settings(pdts.BaseSettings, strict=True, frozen=True, extra="forbid"):
14    """Base class for application settings.
15
16    Use settings to provide high-level preferences.
17    i.e., to separate settings from provider (e.g., CLI).
18    """
19
20
21class MainSettings(Settings):
22    """Main settings of the application.
23
24    Parameters:
25        job (jobs.JobKind): job to run.
26    """
27
28    job: jobs.JobKind = pdt.Field(..., discriminator="KIND")
class Settings(pydantic_settings.main.BaseSettings):
14class Settings(pdts.BaseSettings, strict=True, frozen=True, extra="forbid"):
15    """Base class for application settings.
16
17    Use settings to provide high-level preferences.
18    i.e., to separate settings from provider (e.g., CLI).
19    """

Base class for application settings.

Use settings to provide high-level preferences. i.e., to separate settings from provider (e.g., CLI).

class MainSettings(Settings):
22class MainSettings(Settings):
23    """Main settings of the application.
24
25    Parameters:
26        job (jobs.JobKind): job to run.
27    """
28
29    job: jobs.JobKind = pdt.Field(..., discriminator="KIND")

Main settings of the application.

Arguments:
  • job (jobs.JobKind): job to run.