Chemspyd is organized following object-oriented design principles and is structured into two main classes: the Controller and the Executor. Whereas the Executor handles the communication with the instrument's control software (for details, vide infra), the Controller provides a standardized, public API for users to develop customizable, adaptive workflows in Python. For this purpose, it houses an extensive catalog of elementary actions that encompass a wide range of the functionalities that the Chemspeed robotic platforms offer. These elementary actions enable dynamic and fine-grained control over the action space. A full list of elementary actions is provided in the Supplementary Information, as well as the detailed package documentation. Chemspyd communicates with AutoSuite through the Executor, which read and writes shared CSV files, providing a standardized means of communication that is human-readable and supported by both Python and AutoSuite (Figure ). This enables bidirectional communication between AutoSuite (and thereby, the Chemspeed robotic platform) and Chemspyd, containing the instrument status, execution commands and parameters, instrument return values, and general metadata. A full description of the communication protocol is provided in the Supplementary Information.