muxtools.config
Project configuration discovery and editing.
BinarySettings
pydantic-model
Bases: BaseModel
Show JSON schema:
Config:
extra:allowstrict:True
Fields:
-
prefer(BinaryMode) -
packages(list[str])
MuxSettings
pydantic-model
MuxSettings(*, show_name: str = 'Example', clean_work_dirs: bool = False, out_dir: str = 'premux', out_name: str = '$show$ - $ep$ (premux)', mkv_title_naming: str = '$show$ - $ep$', debug: bool = True, error_on_danger: bool = False, **kwargs)
Bases: BaseModel
Show JSON schema:
{
"additionalProperties": true,
"properties": {
"show_name": {
"default": "Example",
"title": "Show Name",
"type": "string"
},
"clean_work_dirs": {
"default": false,
"title": "Clean Work Dirs",
"type": "boolean"
},
"out_dir": {
"default": "premux",
"title": "Out Dir",
"type": "string"
},
"out_name": {
"default": "$show$ - $ep$ (premux)",
"title": "Out Name",
"type": "string"
},
"mkv_title_naming": {
"default": "$show$ - $ep$",
"title": "Mkv Title Naming",
"type": "string"
},
"debug": {
"default": true,
"title": "Debug",
"type": "boolean"
},
"error_on_danger": {
"default": false,
"title": "Error On Danger",
"type": "boolean"
}
},
"title": "MuxSettings",
"type": "object"
}
Config:
extra:allowstrict:True
Fields:
-
show_name(str) -
clean_work_dirs(bool) -
out_dir(str) -
out_name(str) -
mkv_title_naming(str) -
debug(bool) -
error_on_danger(bool)
model_config
class-attribute
instance-attribute
ProjectSettings
pydantic-model
ProjectSettings(*, show_name: str = 'Example', clean_work_dirs: bool = False, out_dir: str = 'premux', out_name: str = '$show$ - $ep$ (premux)', mkv_title_naming: str = '$show$ - $ep$', debug: bool = True, error_on_danger: bool = False, binaries: BinarySettings = BinarySettings())
Bases: MuxSettings
Show JSON schema:
{
"$defs": {
"BinarySettings": {
"additionalProperties": true,
"properties": {
"prefer": {
"default": "system",
"enum": [
"local",
"global",
"system"
],
"title": "Prefer",
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"title": "Packages",
"type": "array"
}
},
"title": "BinarySettings",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"show_name": {
"default": "Example",
"title": "Show Name",
"type": "string"
},
"clean_work_dirs": {
"default": false,
"title": "Clean Work Dirs",
"type": "boolean"
},
"out_dir": {
"default": "premux",
"title": "Out Dir",
"type": "string"
},
"out_name": {
"default": "$show$ - $ep$ (premux)",
"title": "Out Name",
"type": "string"
},
"mkv_title_naming": {
"default": "$show$ - $ep$",
"title": "Mkv Title Naming",
"type": "string"
},
"debug": {
"default": true,
"title": "Debug",
"type": "boolean"
},
"error_on_danger": {
"default": false,
"title": "Error On Danger",
"type": "boolean"
},
"binaries": {
"$ref": "#/$defs/BinarySettings"
}
},
"title": "ProjectSettings",
"type": "object"
}
Fields:
-
show_name(str) -
clean_work_dirs(bool) -
out_dir(str) -
out_name(str) -
mkv_title_naming(str) -
debug(bool) -
error_on_danger(bool) -
binaries(BinarySettings)
Validators:
reject_runtime_fields
pydantic-validator
ProjectConfig
dataclass
Source code in
muxtools/config.py
EffectiveBinaryConfig
dataclass
EffectiveBinaryConfig(mode: BinaryMode, packages: list[str], project_config: ProjectConfig | None = None)
Source code in
muxtools/config.py
global_binary_path
resolve_binary_config
Source code in
muxtools/config.py
load_config
Source code in
muxtools/config.py
discover_config
Source code in
muxtools/config.py
update_config
update_config(path: Path, values: dict[str, Any] | None = None, packages: list[str] | None = None) -> ProjectConfig