lenskit.schemas.settings.LenskitSettings ======================================== .. py:class:: lenskit.schemas.settings.LenskitSettings(_case_sensitive = None, _nested_model_default_partial_update = None, _env_prefix = None, _env_prefix_target = None, _env_file = ENV_FILE_SENTINEL, _env_file_encoding = None, _env_ignore_empty = None, _env_nested_delimiter = None, _env_nested_max_split = None, _env_parse_none_str = None, _env_parse_enums = None, _cli_prog_name = None, _cli_parse_args = None, _cli_settings_source = None, _cli_parse_none_str = None, _cli_hide_none_type = None, _cli_avoid_json = None, _cli_enforce_required = None, _cli_use_class_docs_for_groups = None, _cli_show_env_vars = None, _cli_exit_on_error = None, _cli_prefix = None, _cli_flag_prefix_char = None, _cli_implicit_flags = None, _cli_ignore_unknown_args = None, _cli_kebab_case = None, _cli_shortcuts = None, _secrets_dir = None, _build_sources = None, **values) Bases: :py:obj:`pydantic_settings.BaseSettings` Definition of LensKit settings. LensKit supports loading various settings from configuration files and the environment as a consistent way to control LensKit's various control surfaces. :Stability: Experimental .. py:attribute:: model_config Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. .. py:attribute:: random :type: RandomSettings Random number generator configuration. .. py:attribute:: parallel :type: ParallelSettings .. py:attribute:: machine :type: str | None :value: None The name of the machine running experiments. This is usually set in ``lenskit.local.toml`` or the ``LK_MACHINE`` environment variable. .. py:attribute:: prometheus :type: PrometheusSettings Prometheus settings for task metric collection. .. py:attribute:: machines :type: dict[str, MachineSettings] Description of different machines used in the experiment(s), to support things like collecting power metrics. .. py:attribute:: tuning :type: TuneSettings LensKit tuning settings. .. py:property:: current_machine :type: MachineSettings | None .. py:method:: settings_customise_sources(settings_cls, init_settings, env_settings, dotenv_settings, file_secret_settings) :classmethod: Define the sources and their order for loading the settings values. :param settings_cls: The Settings class. :param init_settings: The `InitSettingsSource` instance. :param env_settings: The `EnvSettingsSource` instance. :param dotenv_settings: The `DotEnvSettingsSource` instance. :param file_secret_settings: The `SecretsSettingsSource` instance. :returns: A tuple containing the sources and their order for loading the settings values. .. py:method:: finish_setup() Finalize settings, resolving default values etc. as needed.