pykappa.pattern¶
Represents Kappa patterns and constituent objects.
- class pykappa.pattern.Site(label, state, partner)[source]¶
A site on an agent with state and binding partner information.
- Parameters:
label (str)
state (str)
partner (str | _TypedPartner | int | Site)
- property label: str¶
Name of the site.
- property state: str¶
Internal state of the site.
- property kappa_str: str¶
- property bound: bool¶
- class pykappa.pattern.Agent(type, sites)[source]¶
Represents an agent with a type and collection of sites.
- Parameters:
type (str)
sites (Iterable[Site])
- static neighborhood(agents, radius)[source]¶
Get nearby agents with a deterministic breadth-first traversal order.
- classmethod from_kappa(kappa_str)[source]¶
Parse a single agent from a Kappa string.
- Raises:
AssertionError – If the string doesn’t describe exactly one agent.
- Parameters:
kappa_str (str)
- Return type:
Self
- property type: str¶
Type name of the agent.
- property kappa_str¶
- property kappa_str_with_agent_ids: str¶
Kappa representation prefixed with this agent’s ID.
- property neighbors: tuple[Self, ...]¶
The agents directly connected to this one.
- class pykappa.pattern.Component(agents)[source]¶
A set of agents that are all in the same connected component.
Note
Connectedness is not guaranteed statically and must be enforced.
- Parameters:
agents (Iterable[Agent])
- classmethod from_kappa(kappa_str)[source]¶
Parse a single component from a Kappa string.
- Raises:
AssertionError – If the pattern doesn’t represent exactly one component.
- Parameters:
kappa_str (str)
- Return type:
Self
- property plot: _ComponentPlot¶
Return a visualization of this component.
- property kappa_str: str¶
- property kappa_str_with_agent_ids: str¶
Kappa representation with each agent prefixed by its ID.
- isomorphisms(other)[source]¶
Find bijections which respect links in the site graph.
Checks for bijections ensuring that any internal site state specified in one component exists and is the same in the other.
Note
Handles isomorphism generally, between instantiated components in a mixture and potentially between rule patterns.
- property diameter: int¶
Get the maximum minimum shortest path between any two agents.
- class pykappa.pattern.Pattern(agents)[source]¶
A pattern consisting of multiple agents, some of which may be None (empty slots).
- Parameters:
agents (Iterable[Agent | None])
- classmethod from_kappa(kappa_str)[source]¶
- Raises:
AssertionError – If the string doesn’t describe exactly one pattern.
- Parameters:
kappa_str (str)
- Return type:
Self
- property kappa_str: str¶
- property kappa_str_with_agent_ids: str¶
Kappa representation with each agent prefixed by its ID.