AFL.automation.prepare.PrepareDriver#
Functions
|
Classes
|
|
|
|
|
A dictionary-like class that serializes changes to disk |
|
Base class for prepare drivers. |
|
- class AFL.automation.prepare.PrepareDriver.PrepareDriver(driver_name: str, overrides=None)[source]#
Base class for prepare drivers.
Subclasses provide transport/backend-specific execution while this class handles shared target conditioning and mass-balance feasibility/solve flow.
- defaults = {'enable_multistep_dilution': False, 'fixed_compositions': {}, 'multistep_diluent_policy': 'primary_solvent', 'multistep_max_steps': 2, 'stocks': []}#
- is_feasible(targets: dict | list[dict], enable_multistep_dilution: bool | None = None) list[dict | None][source]#
- before_balance(target: dict) None[source]#
Subclass hook to perform backend-specific checks before solving.
- execute_preparation(target: dict, balanced_target: Solution, destination: str) bool[source]#
Execute backend-specific prepare actions.
Returns False for handled, non-fatal failures where caller should return (None, None). Raise for hard failures.
- execute_preparation_plan(target: dict, balanced_target: Solution, destination: str, procedure_plan: dict, intermediate_destinations: list[str]) bool[source]#
- on_prepare_exception(destination: str, dest_was_none: bool) None[source]#
Subclass hook to rollback destination bookkeeping on exceptions.