Skip to content

Library Module Map

github-actions[bot] edited this page Oct 15, 2026 · 1 revision

Library Module Map

The wowlab command is a thin layer over a Python library, wowlab_core, under lab/core/src/wowlab_core/ in the repository. This page says which module does what, so you can find the code behind a command. The spec for each module is docs/LAB_PLAN.md.

Every module opens the install read-only, except wowlab_core.guard, the one write gate (Safety and Guarantees).

Finding and reading the install

Module What it does
wowlab_core.install Finds a World of Warcraft install and its flavors (wowlab install show, wowlab doctor).
wowlab_core.layout A typed, read-only walk of a flavor folder (wowlab tree).
wowlab_core.filemap What every path in an install is, who writes it, and whether wowlab may edit it (wowlab explain).
wowlab_core.process Whether a game client is running.
wowlab_core.toc Reads addon manifests (.toc files) for wowlab addons list.
wowlab_core.luadata Parses and writes SavedVariables as data, never running Lua (wowlab sv dump).
wowlab_core.wtfconfig Reads the WTF text files: Config.wtf, config-cache.wtf, bindings-cache.wtf and macros (wowlab cvar list, wowlab binds list, wowlab macros list).
wowlab_core.combatlog Tokenizes and follows the combat log (Combat Log).

Snapshots and changes

Module What it does
wowlab_core.snapshot The content-addressed snapshot store (Snapshots and Undo).
wowlab_core.guard The write gate: client closed, allowed path, snapshot first, journaled, atomic replace.
wowlab_core.profiles Named sets of UI files (Profiles).
wowlab_core.svmerge Merges one SavedVariables file by key path (SavedVariables and Merging).

The lab-addon

Module What it does
wowlab_core.addoninstall Puts the lab-addon into a flavor and takes it out again.
wowlab_core.labaddon Reads what the lab-addon recorded (Lab-Addon and Characters).

Game data and looks

Module What it does
wowlab_core.gamedata Game tables by build from wago.tools, cached and never overwritten (Game Data).
wowlab_core.db2lake Typed SQLite tables built from the cached game tables, one file per build. No command uses it yet.
wowlab_core.looks Customization tables for one build, and looks checked against them (Customization Looks).
wowlab_core.lookstore Saved looks as JSON under the user data folder.
wowlab_core.lookspage The self-contained HTML page of wowlab looks page.

The doctor and the command line

Module What it does
wowlab_core.firstrun The first run of wowlab doctor (Getting Started).
wowlab_core.redact Identifier patterns, and redaction of text you are asked to share.
wowlab_core.doctorredact The report of wowlab doctor --redact (Getting Started).
wowlab_core.cli The wowlab command itself (Command Reference, CLI Reference).

Clone this wiki locally