pkgcore.resolver.pigeonholes module

class pkgcore.resolver.pigeonholes.PigeonHoledSlots[source]

Bases: object

class for tracking slotting to a specific atom/obj key no atoms present, just prevents conflicts of obj.key; atom present, assumes it’s a blocker and ensures no obj matches the atom for that key

add_limiter(atom, key=None)[source]

add a limiter, returning any conflicting objs

check_limiters(obj)[source]

return any limiters conflicting w/ the passed in obj

fill_slotting(obj, force=False)[source]

Try to insert obj in.

Returns:

any conflicting objs (empty list if inserted successfully).

find_atom_matches(atom, key=None)[source]
get_conflicting_slot(pkg)[source]
remove_limiter(atom, key=None)[source]
remove_slotting(obj)[source]