######### Protocols ######### Author, save, and convert UCP protocols: write a protocol by hand, parse a vendor cycler file, validate it, save it to a project so simulations and planned measurements can reference it, and export it to a cycler's native format. For usage examples and guides, see `Managing protocols `_ on docs.ionworks.com. .. automodule:: ionworks.api.protocol :members: :undoc-members: :show-inheritance: Protocol groups =============== Use ``client.protocol_group`` to create, list, rename, and delete project-scoped families. Assign protocols on create/update and filter their list by group:: group = client.protocol_group.create("Schedule family") protocol = client.protocol.create( "Simulation r1", protocol_yaml, protocol_group_id=group.id ) members = client.protocol.list(protocol_group_id=group.id) client.protocol.update(protocol.id, protocol_group_id=None) # ungroup Omitting ``protocol_group_id`` on update preserves membership. Deleting a group ungroups its protocols without deleting them. Inline simulation submissions do not inherit membership automatically; assign the saved protocol after the run. .. automodule:: ionworks.api.protocol_group :members: :undoc-members: :show-inheritance: