pjkm.core.groups.resolver

Group resolver: expand selected groups including transitive dependencies.

Exceptions

GroupResolutionError

Raised when group resolution fails (missing group, circular deps).

Classes

GroupResolver

Resolves selected group IDs into a fully-expanded, ordered list of PackageGroups.

Module Contents

exception pjkm.core.groups.resolver.GroupResolutionError[source]

Bases: Exception

Raised when group resolution fails (missing group, circular deps).

class pjkm.core.groups.resolver.GroupResolver(groups)[source]

Resolves selected group IDs into a fully-expanded, ordered list of PackageGroups.

Parameters:

groups (dict[str, pjkm.core.models.group.PackageGroup])

resolve(selected_ids, platform=None)[source]

Expand selected groups, resolving requires_groups transitively.

Returns groups in dependency order (dependencies before dependents). Filters out groups that don’t match the current platform.

Parameters:
Return type:

list[pjkm.core.models.group.PackageGroup]