Deterministic CI Behavior
The package supports real SU2 solver calls, but default tests and examples do not require SU2 binaries. They use deterministic filesystem-backed flows so CI can validate payload contracts consistently.
Why this exists
Local development stays lightweight.
CI remains deterministic.
Tool schemas and wiring can be validated without native solver dependencies.
What remains optional
run_su2_solverandgenerate_deformed_meshwill report structured missing-binary errors when solver executables are unavailable.generate_mesh_from_steprequires the gmsh CLI.
Utilities for discovering SU2 binaries on the host system.
- class su2_mcp.su2_availability.SU2BinaryStatus(name, path)[source]
Presence information for a single SU2 binary.
- property available
Return True when the binary was found on PATH.
- su2_mcp.su2_availability.check_su2_installation(candidates=None)[source]
Report SU2 availability on the host system.
- Parameters:
candidates – Optional list of binary names to probe; defaults to common SU2 executables.
- Returns:
Mapping describing which binaries are present and whether any are missing. The
installedflag is true when at least one binary is present.
Examples
>>> summary = check_su2_installation(["SU2_CFD"]) >>> set(summary.keys()) == {"installed", "binaries", "missing"} True
- su2_mcp.su2_availability.discover_su2_binaries(candidates=None)[source]
Locate SU2 binaries on the current PATH.
- Parameters:
candidates – Optional iterable of binary names to probe. Defaults to common SU2 executables.
- Returns:
Ordered list of binary status objects preserving the requested order.
Examples
>>> discover_su2_binaries(["SU2_CFD"]) [SU2BinaryStatus(name='SU2_CFD', path=...)]