tlcconfig.config_source¶

Module Contents¶

Classes¶

Class

Description

ConfigSource

The source of an option’s value.

API¶

class ConfigSource¶

Bases: enum.Enum

The source of an option’s value.

This enum is used during option resolution to track and store from which source the option was set.

API = 8¶

The option was set using the API.

COMMAND_LINE = 7¶

The option was set on the command line.

DATA_CONFIG_FILE = 3¶

The option was loaded from a config file discovered alongside data — e.g. shipped on a read-only data mount, or scanned via the indexing table. The system never assumes write access here.

DEFAULT = 0¶

The option was set with the default value.

ENVIRONMENT = 6¶

The option was loaded from an environment variable.

INDEXER = 2¶

The option was set as runtime bookkeeping by an indexer or other internal subsystem.

Lower precedence than any user-authored source so user env / CLI / config-file writes always win. Not persisted to disk by file writers — entries are derived from runtime state (e.g. an indexer discovering a project-level scan-url) and would otherwise pollute saved configs with state that re-derives itself next session.

MIXED = 1¶

The option was set from multiple sources. Indicates a compound value.

PROJECT_ROOT_CONFIG_FILE = 4¶

The option was loaded from a project-root config.3lc.yaml. Beats DATA (data-bundled) so project-level settings override what travels with data; loses to USER so the same project can be run by different users without each user’s setup leaking into the project.

USER_CONFIG_FILE = 5¶

The option was loaded from the user’s writable, persistent config (~/.config/3lc/config.yaml, or whatever --config-file / TLC_CONFIG_FILE points at). One file per user, shared across all projects that user runs.