Skip to content

Configuration API reference

groundworkers.config

AppConfig dataclass

Resolved runtime configuration owned and consumed by Groundworkers.

Groundworkers is the only application in the stack rather than a library, so unlike its siblings it resolves the whole picture once and hands the same object to the tool registry, both transports, --describe, and the setup console. Each optional backend is resolved to None when unconfigured, so availability is decided in one place instead of at every call site.

Settings are read through groundworkers: this type deliberately does not re-export them, so each one has exactly one name.

describe()

Return an operator-safe description without credentials or raw URLs.

GroundworkersConfig

Bases: PackageConfigBase

Package-level configuration owned by Groundworkers.

The shared configure path (omop-config configure groundworkers, and the --set flags it generates) addresses one field at a time. Related settings are grouped by name prefix.

Every field carries a description, which provides the CLI flag help, the interactive prompt text, and the generated documentation.

Notes

By design, this config is for internal use only and must not be imported or resolved by any other package.

split_vocabulary_connection(stack, cdm_db)

Report a CDM entry whose vocabulary sits on a second physical connection.

Groundworkers reads the vocabulary through the CDM engine and nothing else: the knowledge graph, the vocabulary service, and the embedding tier are all handed AppConfig.cdm_engine, with only the vocabulary schema applied on top. A vocab_connection naming a different server is therefore not a supported split -- it would be silently ignored and the vocabulary schema looked for on the CDM server instead. Reported here so both the runtime and the setup console can refuse it in the same terms, rather than plumbing a second engine no caller reads.

Returns

tuple[str, str] or None The (primary, vocabulary) connection names when they differ, or None when the entry is absent, is not a CDM entry, or names one connection for both roles.