Source code for kmcpy.api
"""Public high-level API helpers for kMCpy."""
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from kmcpy.simulator.config import Configuration
from kmcpy.simulator.tracker import Tracker
[docs]
def run(config: "Configuration", label: str | None = None) -> "Tracker":
"""Run a KMC simulation from a ``Configuration`` in one call.
Args:
config: Simulation configuration.
label: Optional output label. If ``None``, ``config.name`` is used.
Returns:
Tracker with simulation results.
"""
from kmcpy.simulator.config import Configuration
from kmcpy.simulator.kmc import KMC
if not isinstance(config, Configuration):
raise TypeError("config must be a Configuration instance")
kmc = KMC.from_config(config)
return kmc.run(label=label)