[dev] C2 - Add typed configs as pydantic dataclasses & omegaconf dictconfigs by deruyter92 · Pull Request #3191 · DeepLabCut/DeepLabCut

@deruyter92 mentioned this pull request

Jan 29, 2026

@deruyter92 deruyter92 changed the title Add typed configs as pydantic dataclasses & omegaconf dictconfigs [dev] C2 - Add typed configs as pydantic dataclasses & omegaconf dictconfigs

Feb 3, 2026

C-Achard

C-Achard

C-Achard

Base automatically changed from jaap/centralize_project_configs to feat/structured_configs

February 4, 2026 08:40
This mixin provides methods for:
    - Loading configurations from dictionaries or YAML files
    - Validating configuration data against pydantic models
    - Converting configurations to dictionaries
    - Pretty printing configuration data

add imports from utils

@deruyter92

- Introduced new configuration classes for inference, logging, model, pose, project, runner, and training settings.
- Refactored data loading mechanisms to utilize new configuration structures.
- Moved the multithreading and compilation options in inference configuration to the config module.
- Typed configuration for logging.
- Updated dataset loaders to accept model configurations directly or via file paths.

@deruyter92

(The fields are kept identical to old multianimal project configs for now)

move ProjectConfig to deeplabcut/core/config

@deruyter92

…correct TypeAdapter usage)
The return value should be the dictionary, not the instantiated transforms

@deruyter92