Skip to content

Conversation

@BioCam
Copy link
Contributor

@BioCam BioCam commented Oct 23, 2025

Hi everyone,

It is time to share code...

One of the most common requests for PyLabRobot is providing code that can be taken by anyone - including AI training 👀 - to accelerate user's development of new automated Protocols (aPs) by building on existing code.

Here I am starting the PyLabRobot "Cookbook":

a curated collection of concise, modular code examples that demonstrate practical solutions to common lab automation challenges. Each recipe is short, focused, and reusable - designed to help you apply specific PyLabRobot features in real-world contexts. Rather than full experimental protocols, these examples aim to inspire, teach, and accelerate your own automation workflows.

Showcase of the new section's interface:

Screen.Recording.2025-10-23.at.21.58.52.mov

@BioCam
Copy link
Contributor Author

BioCam commented Oct 23, 2025

  1. New Cookbook recipes can simply be added to the pylabrobot/docs/cookbook/recipes/ directory (I recommend in Jupyter Notebook format).

  2. To generate a new recipe card add the following to pylabrobot/docs/cookbook/index.rst:

.. plrcard::
   :header: Move plate to Alpaqua magnet using CORE grippers
   :card_description: Learn about...<br>
    • Resource movement using CORE grippers<br>
    • Resource position check using grippers<br>
    • PLR autocorrection of plate placement onto PlateAdapter/magnet
   :image: _static/cookbook_img/recipe_01_core_move_static.png
   :image_hover: _static/cookbook_img/recipe_01_core_move.gif
   :link: recipes/star_movement_plate_to_alpaqua_core.html
   :tags: ResourceMovement PlateAdapter HamiltonSTAR

and in the same file add the reference:

.. -----------------------------------------
.. Page TOC
.. -----------------------------------------
.. toctree::
   :maxdepth: 2
   :hidden:

   recipes/star_movement_plate_to_alpaqua_core

If you want to add new tags:

  1. add the tag into the plrcard above
  2. add a new line into pylabrobot/docs/_templates/plr_card_grid.html:
<div class="plr-card-filter">
  <div class="plr-tag-buttons plr-filter-menu">
    <div class="plr-filter-btn active" data-tag="All">All</div>
    <div class="plr-filter-btn" data-tag="ResourceMovement">Resource Movement</div>
    <div class="plr-filter-btn" data-tag="PlateAdapter">PlateAdapter</div>
    <div class="plr-filter-btn" data-tag="HamiltonSTAR">Hamilton STAR(let)</div>
  </div>
</div>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant