[{"data":1,"prerenderedAt":2647},["ShallowReactive",2],{"navigation":3,"\u002Foperate\u002Fguides\u002Fpipetting\u002Fliquid-classes":750,"\u002Foperate\u002Fguides\u002Fpipetting\u002Fliquid-classes-surround":2642},[4,80,134,364,428,530,567,646],{"title":5,"path":6,"stem":7,"children":8,"page":42},"Get Started","\u002Fget-started","01.get-started",[9,13,17,43,47],{"title":10,"path":11,"stem":12},"Welcome to UniteLabs","\u002Fget-started\u002Fwelcome","01.get-started\u002F00.welcome",{"title":14,"path":15,"stem":16},"How it works","\u002Fget-started\u002Fhow-it-works","01.get-started\u002F01.how-it-works",{"title":18,"path":19,"stem":20,"children":21,"page":42},"Use Cases","\u002Fget-started\u002Fuse-cases","01.get-started\u002F02.use-cases",[22,26,30,34,38],{"title":23,"path":24,"stem":25},"Instrument Control","\u002Fget-started\u002Fuse-cases\u002Flow-level-instrument-control","01.get-started\u002F02.use-cases\u002F10.low-level-instrument-control",{"title":27,"path":28,"stem":29},"Multi-device Control","\u002Fget-started\u002Fuse-cases\u002Fmulti-device-control","01.get-started\u002F02.use-cases\u002F20.multi-device-control",{"title":31,"path":32,"stem":33},"Workflow Orchestration","\u002Fget-started\u002Fuse-cases\u002Fworkflow-orchestration","01.get-started\u002F02.use-cases\u002F30.workflow-orchestration",{"title":35,"path":36,"stem":37},"Custom Apps and LIMS Integration","\u002Fget-started\u002Fuse-cases\u002Fcustom-apps-lims","01.get-started\u002F02.use-cases\u002F40.custom-apps-lims",{"title":39,"path":40,"stem":41},"Scale and Fleet Management","\u002Fget-started\u002Fuse-cases\u002Fscale-and-fleet","01.get-started\u002F02.use-cases\u002F50.scale-and-fleet",false,{"title":44,"path":45,"stem":46},"Lab as Code","\u002Fget-started\u002Fwhy-code","01.get-started\u002F03.why-code",{"title":48,"path":49,"stem":50,"children":51,"page":42},"Setup","\u002Fget-started\u002Fsetup","01.get-started\u002F20.setup",[52,56,60,64,68,72,76],{"title":53,"path":54,"stem":55},"GroundControl","\u002Fget-started\u002Fsetup\u002Fgroundcontrol","01.get-started\u002F20.setup\u002F10.groundcontrol",{"title":57,"path":58,"stem":59},"Network requirements","\u002Fget-started\u002Fsetup\u002Fnetwork-requirements","01.get-started\u002F20.setup\u002F20.network-requirements",{"title":61,"path":62,"stem":63},"Multi-device Networking","\u002Fget-started\u002Fsetup\u002Fmultiple-devices","01.get-started\u002F20.setup\u002F30.multiple-devices",{"title":65,"path":66,"stem":67},"Connect to Platform","\u002Fget-started\u002Fsetup\u002Fconnect-to-platform","01.get-started\u002F20.setup\u002F40.connect-to-platform",{"title":69,"path":70,"stem":71},"Headless install","\u002Fget-started\u002Fsetup\u002Fheadless-install","01.get-started\u002F20.setup\u002F50.headless-install",{"title":73,"path":74,"stem":75},"Raspberry Pi","\u002Fget-started\u002Fsetup\u002Fraspberry-pi","01.get-started\u002F20.setup\u002F55.raspberry-pi",{"title":77,"path":78,"stem":79},"Installation","\u002Fget-started\u002Fsetup\u002Fsdk-installation","01.get-started\u002F20.setup\u002F60.sdk-installation",{"title":81,"path":82,"stem":83,"children":84,"page":42},"Integrate","\u002Fintegrate","02.integrate",[85,89,93,118],{"title":86,"path":87,"stem":88},"What is a connector?","\u002Fintegrate\u002Fwhat-is-a-connector","02.integrate\u002F00.what-is-a-connector",{"title":90,"path":91,"stem":92},"Calling a Connector","\u002Fintegrate\u002Fcontrol-with-code","02.integrate\u002F05.control-with-code",{"title":94,"path":95,"stem":96,"children":97,"page":42},"Concepts","\u002Fintegrate\u002Fconcepts","02.integrate\u002F10.concepts",[98,102,106,110,114],{"title":99,"path":100,"stem":101},"Connector","\u002Fintegrate\u002Fconcepts\u002Fconnector","02.integrate\u002F10.concepts\u002F10.connector",{"title":103,"path":104,"stem":105},"Module","\u002Fintegrate\u002Fconcepts\u002Fmodule","02.integrate\u002F10.concepts\u002F20.module",{"title":107,"path":108,"stem":109},"Action","\u002Fintegrate\u002Fconcepts\u002Faction","02.integrate\u002F10.concepts\u002F30.action",{"title":111,"path":112,"stem":113},"Subscription","\u002Fintegrate\u002Fconcepts\u002Fsubscription","02.integrate\u002F10.concepts\u002F40.subscription",{"title":115,"path":116,"stem":117},"Device","\u002Fintegrate\u002Fconcepts\u002Fdevice","02.integrate\u002F10.concepts\u002F50.device",{"title":119,"path":120,"stem":121,"children":122,"page":42},"Use a connector","\u002Fintegrate\u002Fuse-a-connector","02.integrate\u002F30.use-a-connector",[123,126,130],{"title":53,"path":124,"stem":125},"\u002Fintegrate\u002Fuse-a-connector\u002Fgroundcontrol","02.integrate\u002F30.use-a-connector\u002F10.groundcontrol",{"title":127,"path":128,"stem":129},"Platform","\u002Fintegrate\u002Fuse-a-connector\u002Fplatform","02.integrate\u002F30.use-a-connector\u002F20.platform",{"title":131,"path":132,"stem":133},"UniteLabs SDK & REST API","\u002Fintegrate\u002Fuse-a-connector\u002Fpython","02.integrate\u002F30.use-a-connector\u002F30.python",{"title":135,"path":136,"stem":137,"children":138,"page":42},"Operate","\u002Foperate","03.operate",[139,142,146,186,259],{"title":135,"path":140,"stem":141},"\u002Foperate\u002Foverview","03.operate\u002F00.overview",{"title":143,"path":144,"stem":145},"Your First Protocol","\u002Foperate\u002Fyour-first-protocol","03.operate\u002F05.your-first-protocol",{"title":94,"path":147,"stem":148,"children":149,"page":42},"\u002Foperate\u002Fconcepts","03.operate\u002F10.concepts",[150,154,158,162,166,170,174,178,182],{"title":151,"path":152,"stem":153},"Liquid Handling","\u002Foperate\u002Fconcepts\u002Fliquid-handling","03.operate\u002F10.concepts\u002F10.liquid-handling",{"title":155,"path":156,"stem":157},"Modules","\u002Foperate\u002Fconcepts\u002Fmodules","03.operate\u002F10.concepts\u002F20.modules",{"title":159,"path":160,"stem":161},"Deck","\u002Foperate\u002Fconcepts\u002Fdeck","03.operate\u002F10.concepts\u002F30.deck",{"title":163,"path":164,"stem":165},"Labware","\u002Foperate\u002Fconcepts\u002Flabware","03.operate\u002F10.concepts\u002F40.labware",{"title":167,"path":168,"stem":169},"Liquids","\u002Foperate\u002Fconcepts\u002Fliquids","03.operate\u002F10.concepts\u002F50.liquids",{"title":171,"path":172,"stem":173},"Liquid Classes","\u002Foperate\u002Fconcepts\u002Fliquid-classes","03.operate\u002F10.concepts\u002F60.liquid-classes",{"title":175,"path":176,"stem":177},"Tips and Tip Tracking","\u002Foperate\u002Fconcepts\u002Ftips","03.operate\u002F10.concepts\u002F70.tips",{"title":179,"path":180,"stem":181},"Simulation","\u002Foperate\u002Fconcepts\u002Fsimulation","03.operate\u002F10.concepts\u002F80.simulation",{"title":183,"path":184,"stem":185},"Error Handling","\u002Foperate\u002Fconcepts\u002Ferror-handling","03.operate\u002F10.concepts\u002F90.error-handling",{"title":187,"path":188,"stem":189,"children":190,"page":42},"Guides","\u002Foperate\u002Fguides","03.operate\u002F20.guides",[191,220,232,256],{"title":163,"path":192,"stem":193,"children":194},"\u002Foperate\u002Fguides\u002Flabware","03.operate\u002F20.guides\u002F10.labware\u002Findex",[195,196,200,204,208,212,216],{"title":163,"path":192,"stem":193},{"title":197,"path":198,"stem":199},"Standard Labware","\u002Foperate\u002Fguides\u002Flabware\u002Fstandard-labware","03.operate\u002F20.guides\u002F10.labware\u002F05.standard-labware",{"title":201,"path":202,"stem":203},"Plates","\u002Foperate\u002Fguides\u002Flabware\u002Fplates","03.operate\u002F20.guides\u002F10.labware\u002F10.plates",{"title":205,"path":206,"stem":207},"Tips and Tip Racks","\u002Foperate\u002Fguides\u002Flabware\u002Ftips-and-racks","03.operate\u002F20.guides\u002F10.labware\u002F20.tips-and-racks",{"title":209,"path":210,"stem":211},"Tubes and Tube Racks","\u002Foperate\u002Fguides\u002Flabware\u002Ftubes-and-tube-racks","03.operate\u002F20.guides\u002F10.labware\u002F30.tubes-and-tube-racks",{"title":213,"path":214,"stem":215},"Troughs","\u002Foperate\u002Fguides\u002Flabware\u002Ftroughs","03.operate\u002F20.guides\u002F10.labware\u002F35.troughs",{"title":217,"path":218,"stem":219},"Carriers and Adapters","\u002Foperate\u002Fguides\u002Flabware\u002Fcarriers-and-adapters","03.operate\u002F20.guides\u002F10.labware\u002F40.carriers-and-adapters",{"title":159,"path":221,"stem":222,"children":223,"page":42},"\u002Foperate\u002Fguides\u002Fdeck","03.operate\u002F20.guides\u002F20.deck",[224,228],{"title":225,"path":226,"stem":227},"Building a Deck","\u002Foperate\u002Fguides\u002Fdeck\u002Fbuilding-a-deck","03.operate\u002F20.guides\u002F20.deck\u002F10.building-a-deck",{"title":229,"path":230,"stem":231},"Save\u002FLoad a Deck","\u002Foperate\u002Fguides\u002Fdeck\u002Fsave-load-deck","03.operate\u002F20.guides\u002F20.deck\u002F20.save-load-deck",{"title":233,"path":234,"stem":235,"children":236,"page":42},"Pipetting","\u002Foperate\u002Fguides\u002Fpipetting","03.operate\u002F20.guides\u002F30.pipetting",[237,241,245,249,252],{"title":238,"path":239,"stem":240},"Basic Pipetting","\u002Foperate\u002Fguides\u002Fpipetting\u002Fbasic-pipetting","03.operate\u002F20.guides\u002F30.pipetting\u002F10.basic-pipetting",{"title":242,"path":243,"stem":244},"Advanced Pipetting","\u002Foperate\u002Fguides\u002Fpipetting\u002Fadvanced-pipetting","03.operate\u002F20.guides\u002F30.pipetting\u002F20.advanced-pipetting",{"title":246,"path":247,"stem":248},"Tip Handling","\u002Foperate\u002Fguides\u002Fpipetting\u002Ftip-handling","03.operate\u002F20.guides\u002F30.pipetting\u002F30.tip-handling",{"title":171,"path":250,"stem":251},"\u002Foperate\u002Fguides\u002Fpipetting\u002Fliquid-classes","03.operate\u002F20.guides\u002F30.pipetting\u002F40.liquid-classes",{"title":253,"path":254,"stem":255},"Labware Transport","\u002Foperate\u002Fguides\u002Fpipetting\u002Flabware-transport","03.operate\u002F20.guides\u002F30.pipetting\u002F50.labware-transport",{"title":179,"path":257,"stem":258},"\u002Foperate\u002Fguides\u002Fsimulation","03.operate\u002F20.guides\u002F40.simulation",{"title":260,"path":261,"stem":262,"children":263,"page":42},"Liquid Handler Guides","\u002Foperate\u002Fdevices","03.operate\u002F30.devices",[264,305,330,347],{"title":265,"path":266,"stem":267,"children":268,"page":42},"Hamilton STAR","\u002Foperate\u002Fdevices\u002Fhamilton-star","03.operate\u002F30.devices\u002F10.hamilton-star",[269,273,277,281,285,289,293,297,301],{"title":270,"path":271,"stem":272},"Positioning & Movement","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fpositioning","03.operate\u002F30.devices\u002F10.hamilton-star\u002F10.positioning",{"title":274,"path":275,"stem":276},"Gripper Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcore-gripper","03.operate\u002F30.devices\u002F10.hamilton-star\u002F20.core-gripper",{"title":278,"path":279,"stem":280},"iSWAP Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fiswap","03.operate\u002F30.devices\u002F10.hamilton-star\u002F30.iswap",{"title":282,"path":283,"stem":284},"Using TADM","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Ftadm","03.operate\u002F30.devices\u002F10.hamilton-star\u002F40.tadm",{"title":286,"path":287,"stem":288},"Autoload Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fautoload","03.operate\u002F30.devices\u002F10.hamilton-star\u002F50.autoload",{"title":290,"path":291,"stem":292},"Waste Block","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fwaste-block","03.operate\u002F30.devices\u002F10.hamilton-star\u002F60.waste-block",{"title":294,"path":295,"stem":296},"Complex Mixing","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcomplex-mixing","03.operate\u002F30.devices\u002F10.hamilton-star\u002F66.complex-mixing",{"title":298,"path":299,"stem":300},"Teaching Gripper Paddle Positions","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fgripper-positions","03.operate\u002F30.devices\u002F10.hamilton-star\u002F70.gripper-positions",{"title":302,"path":303,"stem":304},"Training a Custom Deck Position With the iSWAP","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcustom-deck-position","03.operate\u002F30.devices\u002F10.hamilton-star\u002F75.custom-deck-position",{"title":306,"path":307,"stem":308,"children":309,"page":42},"Hamilton Vantage","\u002Foperate\u002Fdevices\u002Fhamilton-vantage","03.operate\u002F30.devices\u002F20.hamilton-vantage",[310,314,318,322,326],{"title":311,"path":312,"stem":313},"Waste Configuration","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fwaste-configuration","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F05.waste-configuration",{"title":315,"path":316,"stem":317},"Covers and Lights","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fcovers-and-lights","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F10.covers-and-lights",{"title":319,"path":320,"stem":321},"IDL Module","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fidl","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F20.idl",{"title":323,"path":324,"stem":325},"IPG Module","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fipg","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F30.ipg",{"title":327,"path":328,"stem":329},"XL Pipettes","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fxl-channels","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F40.xl-channels",{"title":331,"path":332,"stem":333,"children":334,"page":42},"Agilent Bravo","\u002Foperate\u002Fdevices\u002Fagilent-bravo","03.operate\u002F30.devices\u002F30.agilent-bravo",[335,338,341,344],{"title":246,"path":336,"stem":337},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Ftip-handling","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F10.tip-handling",{"title":238,"path":339,"stem":340},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fbasic-pipetting","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F20.basic-pipetting",{"title":171,"path":342,"stem":343},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fliquid-classes","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F25.liquid-classes",{"title":274,"path":345,"stem":346},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fusing-the-gripper","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F30.using-the-gripper",{"title":348,"path":349,"stem":350,"children":351,"page":42},"Tecan FluentControl","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol",[352,356,360],{"title":353,"path":354,"stem":355},"Connect & Run a Method","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Fconnect-and-run","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F10.connect-and-run",{"title":357,"path":358,"stem":359},"Sending XML Commands","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Fsending-xml-commands","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F20.sending-xml-commands",{"title":361,"path":362,"stem":363},"Full Workflow Example","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Ffull-workflow-example","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F30.full-workflow-example",{"title":365,"path":366,"stem":367,"children":368,"page":42},"Device Guides","\u002Fdevice-guides","06.device-guides",[369,372,385,402,415],{"title":365,"path":370,"stem":371},"\u002Fdevice-guides\u002Foverview","06.device-guides\u002F00.overview",{"title":373,"path":374,"stem":375,"children":376,"page":42},"Incubation","\u002Fdevice-guides\u002Fincubation","06.device-guides\u002F20.incubation",[377,381],{"title":378,"path":379,"stem":380},"Inheco ODTC","\u002Fdevice-guides\u002Fincubation\u002Finheco-odtc","06.device-guides\u002F20.incubation\u002F10.inheco-odtc",{"title":382,"path":383,"stem":384},"Inheco SCILA","\u002Fdevice-guides\u002Fincubation\u002Finheco-scila","06.device-guides\u002F20.incubation\u002F20.inheco-scila",{"title":386,"path":387,"stem":388,"children":389,"page":42},"Heater-Shakers","\u002Fdevice-guides\u002Fheater-shakers","06.device-guides\u002F30.heater-shakers",[390,394,398],{"title":391,"path":392,"stem":393},"Inheco Thermoshake","\u002Fdevice-guides\u002Fheater-shakers\u002Finheco-thermoshake","06.device-guides\u002F30.heater-shakers\u002F10.inheco-thermoshake",{"title":395,"path":396,"stem":397},"QInstruments Bioshake","\u002Fdevice-guides\u002Fheater-shakers\u002Fqinstruments-bioshake","06.device-guides\u002F30.heater-shakers\u002F20.qinstruments-bioshake",{"title":399,"path":400,"stem":401},"QInstruments ColdPlate","\u002Fdevice-guides\u002Fheater-shakers\u002Fqinstruments-coldplate","06.device-guides\u002F30.heater-shakers\u002F30.qinstruments-coldplate",{"title":403,"path":404,"stem":405,"children":406,"page":42},"Readers","\u002Fdevice-guides\u002Freaders","06.device-guides\u002F40.readers",[407,411],{"title":408,"path":409,"stem":410},"Biotek Gen5","\u002Fdevice-guides\u002Freaders\u002Fbiotek-gen5","06.device-guides\u002F40.readers\u002F10.biotek-gen5",{"title":412,"path":413,"stem":414},"Biotek Synergy H1","\u002Fdevice-guides\u002Freaders\u002Fbiotek-synergy-h1","06.device-guides\u002F40.readers\u002F20.biotek-synergy-H1",{"title":416,"path":417,"stem":418,"children":419,"page":42},"Tilt & Turn","\u002Fdevice-guides\u002Ftilt-and-turn","06.device-guides\u002F50.tilt-and-turn",[420,424],{"title":421,"path":422,"stem":423},"TurnStation","\u002Fdevice-guides\u002Ftilt-and-turn\u002Fqinstruments-turnstation","06.device-guides\u002F50.tilt-and-turn\u002F10.qinstruments-turnstation",{"title":425,"path":426,"stem":427},"TiltStation","\u002Fdevice-guides\u002Ftilt-and-turn\u002Fqinstruments-tiltstation","06.device-guides\u002F50.tilt-and-turn\u002F20.qinstruments-tiltstation",{"title":429,"path":430,"stem":431,"children":432,"page":42},"Automate","\u002Fautomate","07.automate",[433,437,441,445,494],{"title":434,"path":435,"stem":436},"What is a workflow?","\u002Fautomate\u002Fwhat-is-a-workflow","07.automate\u002F00.what-is-a-workflow",{"title":438,"path":439,"stem":440},"Workflow template","\u002Fautomate\u002Fworkflow-template","07.automate\u002F05.workflow-template",{"title":442,"path":443,"stem":444},"Your First Workflow","\u002Fautomate\u002Fyour-first-workflow","07.automate\u002F08.your-first-workflow",{"title":94,"pages":446,"path":456,"stem":457,"children":458,"page":42},[447,448,449,450,451,452,453,454,455],"workflow","phase","step","runs","input","artifacts","logs","human-in-the-loop","error-handling","\u002Fautomate\u002Fconcepts","07.automate\u002F10.concepts",[459,463,467,471,475,479,483,487,491],{"title":460,"path":461,"stem":462},"Workflow","\u002Fautomate\u002Fconcepts\u002Fworkflow","07.automate\u002F10.concepts\u002F10.workflow",{"title":464,"path":465,"stem":466},"Phase","\u002Fautomate\u002Fconcepts\u002Fphase","07.automate\u002F10.concepts\u002F20.phase",{"title":468,"path":469,"stem":470},"Step","\u002Fautomate\u002Fconcepts\u002Fstep","07.automate\u002F10.concepts\u002F30.step",{"title":472,"path":473,"stem":474},"Runs","\u002Fautomate\u002Fconcepts\u002Fruns","07.automate\u002F10.concepts\u002F40.runs",{"title":476,"path":477,"stem":478},"Input","\u002Fautomate\u002Fconcepts\u002Finput","07.automate\u002F10.concepts\u002F50.input",{"title":480,"path":481,"stem":482},"Artifacts","\u002Fautomate\u002Fconcepts\u002Fartifacts","07.automate\u002F10.concepts\u002F60.artifacts",{"title":484,"path":485,"stem":486},"Logs","\u002Fautomate\u002Fconcepts\u002Flogs","07.automate\u002F10.concepts\u002F70.logs",{"title":488,"path":489,"stem":490},"Human in the Loop","\u002Fautomate\u002Fconcepts\u002Fhuman-in-the-loop","07.automate\u002F10.concepts\u002F80.human-in-the-loop",{"title":183,"path":492,"stem":493},"\u002Fautomate\u002Fconcepts\u002Ferror-handling","07.automate\u002F10.concepts\u002F90.error-handling",{"title":187,"path":495,"stem":496,"children":497,"page":42},"\u002Fautomate\u002Fguides","07.automate\u002F25.guides",[498,502,506,510,514,518,522,526],{"title":499,"path":500,"stem":501},"Deploy a workflow","\u002Fautomate\u002Fguides\u002Fdeploy-a-workflow","07.automate\u002F25.guides\u002F30.deploy-a-workflow",{"title":503,"path":504,"stem":505},"Run a workflow","\u002Fautomate\u002Fguides\u002Frun-a-workflow","07.automate\u002F25.guides\u002F35.run-a-workflow",{"title":507,"path":508,"stem":509},"CI\u002FCD for workflows","\u002Fautomate\u002Fguides\u002Fcicd-for-workflows","07.automate\u002F25.guides\u002F40.cicd-for-workflows",{"title":511,"path":512,"stem":513},"HITL basics","\u002Fautomate\u002Fguides\u002Fbasic-hitl","07.automate\u002F25.guides\u002F50.basic-hitl",{"title":515,"path":516,"stem":517},"Typed operator inputs","\u002Fautomate\u002Fguides\u002Ftyped-operator-inputs","07.automate\u002F25.guides\u002F55.typed-operator-inputs",{"title":519,"path":520,"stem":521},"Error recovery","\u002Fautomate\u002Fguides\u002Fbasic-error-handling","07.automate\u002F25.guides\u002F60.basic-error-handling",{"title":523,"path":524,"stem":525},"Advanced error handling","\u002Fautomate\u002Fguides\u002Fadvanced-error-handling","07.automate\u002F25.guides\u002F70.advanced-error-handling",{"title":527,"path":528,"stem":529},"Workflows REST API","\u002Fautomate\u002Fguides\u002Fworkflows-api","07.automate\u002F25.guides\u002F80.workflows-api",{"title":531,"path":532,"stem":533,"children":534,"page":42},"Observe","\u002Fobserve","08.observe",[535,539,555],{"title":536,"path":537,"stem":538},"Overview","\u002Fobserve\u002Foverview","08.observe\u002F10.overview",{"title":94,"path":540,"stem":541,"children":542,"page":42},"\u002Fobserve\u002Fconcepts","08.observe\u002F20.concepts",[543,547,551],{"title":544,"path":545,"stem":546},"Object Storage","\u002Fobserve\u002Fconcepts\u002Fstorage","08.observe\u002F20.concepts\u002F10.storage",{"title":548,"path":549,"stem":550},"Secrets","\u002Fobserve\u002Fconcepts\u002Fsecrets","08.observe\u002F20.concepts\u002F20.secrets",{"title":552,"path":553,"stem":554},"Data sources","\u002Fobserve\u002Fconcepts\u002Fdata-sources","08.observe\u002F20.concepts\u002F30.data-sources",{"title":187,"path":556,"stem":557,"children":558,"page":42},"\u002Fobserve\u002Fguides","08.observe\u002F30.guides",[559,563],{"title":560,"path":561,"stem":562},"File System Connector","\u002Fobserve\u002Fguides\u002Ffilesystem-connector","08.observe\u002F30.guides\u002F10.filesystem-connector",{"title":564,"path":565,"stem":566},"Building an ETL","\u002Fobserve\u002Fguides\u002Fbuilding-an-etl","08.observe\u002F30.guides\u002F20.building-an-etl",{"title":568,"path":569,"stem":570,"children":571,"page":42},"Technical Reference","\u002Ftechnical-reference","10.technical-reference",[572,576,580,592,603,614,624,635],{"title":573,"path":574,"stem":575},"Introduction","\u002Ftechnical-reference\u002Fplatform-blueprint","10.technical-reference\u002F00.platform-blueprint",{"title":577,"path":578,"stem":579},"REST API","\u002Ftechnical-reference\u002Frest-api","10.technical-reference\u002F01.rest-api",{"title":53,"path":581,"stem":582,"children":583,"page":42},"\u002Ftechnical-reference\u002Fgroundcontrol","10.technical-reference\u002F10.groundcontrol",[584,588],{"title":585,"path":586,"stem":587},"Install & Setup","\u002Ftechnical-reference\u002Fgroundcontrol\u002Finstall","10.technical-reference\u002F10.groundcontrol\u002F10.install",{"title":589,"path":590,"stem":591},"Changelog","\u002Ftechnical-reference\u002Fgroundcontrol\u002Fchangelog","10.technical-reference\u002F10.groundcontrol\u002F20.changelog",{"title":593,"path":594,"stem":595,"children":596,"page":42},"UniteLabs SDK","\u002Ftechnical-reference\u002Fpython-sdk","10.technical-reference\u002F20.python-sdk",[597,600],{"title":585,"path":598,"stem":599},"\u002Ftechnical-reference\u002Fpython-sdk\u002Finstall","10.technical-reference\u002F20.python-sdk\u002F10.install",{"title":589,"path":601,"stem":602},"\u002Ftechnical-reference\u002Fpython-sdk\u002Fchangelog","10.technical-reference\u002F20.python-sdk\u002F20.changelog",{"title":604,"path":605,"stem":606,"children":607,"page":42},"Liquid Handling SDK","\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk","10.technical-reference\u002F30.python-liquid-handling-sdk",[608,611],{"title":585,"path":609,"stem":610},"\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002Finstall","10.technical-reference\u002F30.python-liquid-handling-sdk\u002F10.install",{"title":589,"path":612,"stem":613},"\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002Fchangelog","10.technical-reference\u002F30.python-liquid-handling-sdk\u002F20.changelog",{"title":163,"path":615,"stem":616,"children":617,"page":42},"\u002Ftechnical-reference\u002Flabware","10.technical-reference\u002F40.labware",[618,621],{"title":585,"path":619,"stem":620},"\u002Ftechnical-reference\u002Flabware\u002Finstall","10.technical-reference\u002F40.labware\u002F10.install",{"title":589,"path":622,"stem":623},"\u002Ftechnical-reference\u002Flabware\u002Fchangelog","10.technical-reference\u002F40.labware\u002F20.changelog",{"title":625,"path":626,"stem":627,"children":628,"page":42},"Python Omnibus","\u002Ftechnical-reference\u002Fpython-omnibus","10.technical-reference\u002F50.python-omnibus",[629,632],{"title":585,"path":630,"stem":631},"\u002Ftechnical-reference\u002Fpython-omnibus\u002Finstall","10.technical-reference\u002F50.python-omnibus\u002F10.install",{"title":589,"path":633,"stem":634},"\u002Ftechnical-reference\u002Fpython-omnibus\u002Fchangelog","10.technical-reference\u002F50.python-omnibus\u002F20.changelog",{"title":636,"path":637,"stem":638,"children":639,"page":42},"Python CDK","\u002Ftechnical-reference\u002Fpython-cdk","10.technical-reference\u002F60.python-cdk",[640,643],{"title":585,"path":641,"stem":642},"\u002Ftechnical-reference\u002Fpython-cdk\u002Finstall","10.technical-reference\u002F60.python-cdk\u002F10.install",{"title":589,"path":644,"stem":645},"\u002Ftechnical-reference\u002Fpython-cdk\u002Fchangelog","10.technical-reference\u002F60.python-cdk\u002F20.changelog",{"title":647,"path":648,"stem":649,"children":650},"Connector Development (CDK)","\u002Fconnector-development","20.connector-development",[651,653,672,705,713,744],{"title":647,"path":648,"stem":652},"20.connector-development\u002Findex",{"title":654,"path":655,"stem":656,"children":657,"page":42},"Getting Started","\u002Fconnector-development\u002Fgetting-started","20.connector-development\u002F10.getting-started",[658,661,665,668],{"title":536,"path":659,"stem":660},"\u002Fconnector-development\u002Fgetting-started\u002Foverview","20.connector-development\u002F10.getting-started\u002F10.overview",{"title":662,"path":663,"stem":664},"What's new","\u002Fconnector-development\u002Fgetting-started\u002Fwhats-new","20.connector-development\u002F10.getting-started\u002F20.whats-new",{"title":77,"path":666,"stem":667},"\u002Fconnector-development\u002Fgetting-started\u002Finstallation","20.connector-development\u002F10.getting-started\u002F30.installation",{"title":669,"path":670,"stem":671},"Contributing","\u002Fconnector-development\u002Fgetting-started\u002Fcontributing","20.connector-development\u002F10.getting-started\u002F40.contributing",{"title":673,"path":674,"stem":675,"children":676,"page":42},"Tutorial","\u002Fconnector-development\u002Ftutorial","20.connector-development\u002F20.tutorial",[677,681,685,689,693,697,701],{"title":678,"path":679,"stem":680},"Walkthrough","\u002Fconnector-development\u002Ftutorial\u002Fwalkthrough","20.connector-development\u002F20.tutorial\u002F00.walkthrough",{"title":682,"path":683,"stem":684},"SiLA Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fsila-endpoints","20.connector-development\u002F20.tutorial\u002F10.sila-endpoints",{"title":686,"path":687,"stem":688},"Data Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fdata-endpoints","20.connector-development\u002F20.tutorial\u002F20.data-endpoints",{"title":690,"path":691,"stem":692},"Controls","\u002Fconnector-development\u002Ftutorial\u002Fcontrols","20.connector-development\u002F20.tutorial\u002F30.controls",{"title":694,"path":695,"stem":696},"SiLA Data Types","\u002Fconnector-development\u002Ftutorial\u002Fdata-types","20.connector-development\u002F20.tutorial\u002F40.data-types",{"title":698,"path":699,"stem":700},"Feature","\u002Fconnector-development\u002Ftutorial\u002Fconnector-structure","20.connector-development\u002F20.tutorial\u002F70.connector-structure",{"title":702,"path":703,"stem":704},"Hardware Communication","\u002Fconnector-development\u002Ftutorial\u002Fhardware-communication","20.connector-development\u002F20.tutorial\u002F90.hardware-communication",{"title":94,"path":706,"stem":707,"children":708,"page":42},"\u002Fconnector-development\u002Fconcepts","20.connector-development\u002F30.concepts",[709],{"title":710,"path":711,"stem":712},"SiLA","\u002Fconnector-development\u002Fconcepts\u002Fsila","20.connector-development\u002F30.concepts\u002Fsila",{"title":187,"path":714,"stem":715,"children":716,"page":42},"\u002Fconnector-development\u002Fguides","20.connector-development\u002F40.guides",[717,721,725,729,733,736,740],{"title":718,"path":719,"stem":720},"Configuration","\u002Fconnector-development\u002Fguides\u002Fconfiguration","20.connector-development\u002F40.guides\u002F20.configuration",{"title":722,"path":723,"stem":724},"Deployment","\u002Fconnector-development\u002Fguides\u002Fdeployment","20.connector-development\u002F40.guides\u002F30.deployment",{"title":726,"path":727,"stem":728},"Security","\u002Fconnector-development\u002Fguides\u002Fsecurity","20.connector-development\u002F40.guides\u002F40.security",{"title":730,"path":731,"stem":732},"Subscriptions","\u002Fconnector-development\u002Fguides\u002Fsubscriptions","20.connector-development\u002F40.guides\u002F45.subscriptions",{"title":183,"path":734,"stem":735},"\u002Fconnector-development\u002Fguides\u002Ferror-handling","20.connector-development\u002F40.guides\u002F50.error-handling",{"title":737,"path":738,"stem":739},"Serial Troubleshooting","\u002Fconnector-development\u002Fguides\u002Fserial-troubleshooting","20.connector-development\u002F40.guides\u002F70.serial-troubleshooting",{"title":741,"path":742,"stem":743},"Testing","\u002Fconnector-development\u002Fguides\u002Ftesting","20.connector-development\u002F40.guides\u002F80.testing",{"title":745,"path":746,"stem":747,"children":748},"References","\u002Fconnector-development\u002Freference","20.connector-development\u002F50.reference\u002Findex",[749],{"title":745,"path":746,"stem":747},{"id":751,"title":171,"body":752,"description":2636,"extension":2637,"links":2638,"meta":2639,"navigation":825,"path":250,"seo":2640,"stem":251,"__hash__":2641},"docs\u002F03.operate\u002F20.guides\u002F30.pipetting\u002F40.liquid-classes.md",{"type":753,"value":754,"toc":2628},"minimark",[755,764,769,1173,1177,1181,1184,1319,1322,1325,1445,1449,2624],[756,757,758,759,763],"p",{},"See ",[760,761,171],"a",{"href":762},"\u002Foperate\u002Fconcepts\u002Fliquid-classes\u002F"," for the conceptual model — what a liquid class encapsulates, how the Hamilton and Bravo parameter models differ, and why liquid classes are dataclasses. This guide covers the procedural API for instantiating, browsing, and subclassing predefined classes.",[765,766,768],"h2",{"id":767},"using-predefined-classes","Using Predefined Classes",[770,771,772,948],"tabs",{},[773,774,776,779,922,925],"div",{"label":775},"Hamilton",[756,777,778],{},"Hamilton ships a library of named liquid classes. List available classes by printing the enum, then instantiate by name.",[780,781,786],"pre",{"className":782,"code":783,"language":784,"meta":785,"style":785},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from unitelabs.labware.hamilton import LiquidClass\n\nprint(LiquidClass)\n# HamiltonTip_300_Water_DispenseJet_Empty\n# HamiltonTip_300_Water_DispenseJet_Part\n# HamiltonTip_300_Water_DispenseSurface_Empty\n# HamiltonTip_300_Water_DispenseSurface_Part\n\nliquid_class = LiquidClass.HamiltonTip_300_Water_DispenseJet_Empty()\n\n# HamiltonTip_300_Water_DispenseJet_Empty [Water (100%)]\n#   aspirate_flow_rate: 100\n#   dispense_flow_rate: 180\n#   ...\n","python","",[787,788,789,820,827,843,850,856,862,868,873,893,898,904,910,916],"code",{"__ignoreMap":785},[790,791,794,798,802,806,809,811,814,817],"span",{"class":792,"line":793},"line",1,[790,795,797],{"class":796},"s7zQu","from",[790,799,801],{"class":800},"sTEyZ"," unitelabs",[790,803,805],{"class":804},"sMK4o",".",[790,807,808],{"class":800},"labware",[790,810,805],{"class":804},[790,812,813],{"class":800},"hamilton ",[790,815,816],{"class":796},"import",[790,818,819],{"class":800}," LiquidClass\n",[790,821,823],{"class":792,"line":822},2,[790,824,826],{"emptyLinePlaceholder":825},true,"\n",[790,828,830,834,837,840],{"class":792,"line":829},3,[790,831,833],{"class":832},"s2Zo4","print",[790,835,836],{"class":804},"(",[790,838,839],{"class":832},"LiquidClass",[790,841,842],{"class":804},")\n",[790,844,846],{"class":792,"line":845},4,[790,847,849],{"class":848},"sHwdD","# HamiltonTip_300_Water_DispenseJet_Empty\n",[790,851,853],{"class":792,"line":852},5,[790,854,855],{"class":848},"# HamiltonTip_300_Water_DispenseJet_Part\n",[790,857,859],{"class":792,"line":858},6,[790,860,861],{"class":848},"# HamiltonTip_300_Water_DispenseSurface_Empty\n",[790,863,865],{"class":792,"line":864},7,[790,866,867],{"class":848},"# HamiltonTip_300_Water_DispenseSurface_Part\n",[790,869,871],{"class":792,"line":870},8,[790,872,826],{"emptyLinePlaceholder":825},[790,874,876,879,882,885,887,890],{"class":792,"line":875},9,[790,877,878],{"class":800},"liquid_class ",[790,880,881],{"class":804},"=",[790,883,884],{"class":800}," LiquidClass",[790,886,805],{"class":804},[790,888,889],{"class":832},"HamiltonTip_300_Water_DispenseJet_Empty",[790,891,892],{"class":804},"()\n",[790,894,896],{"class":792,"line":895},10,[790,897,826],{"emptyLinePlaceholder":825},[790,899,901],{"class":792,"line":900},11,[790,902,903],{"class":848},"# HamiltonTip_300_Water_DispenseJet_Empty [Water (100%)]\n",[790,905,907],{"class":792,"line":906},12,[790,908,909],{"class":848},"#   aspirate_flow_rate: 100\n",[790,911,913],{"class":792,"line":912},13,[790,914,915],{"class":848},"#   dispense_flow_rate: 180\n",[790,917,919],{"class":792,"line":918},14,[790,920,921],{"class":848},"#   ...\n",[756,923,924],{},"Any parameter can be overridden after instantiation:",[780,926,928],{"className":782,"code":927,"language":784,"meta":785,"style":785},"liquid_class.aspirate_flow_rate = 200\n",[787,929,930],{"__ignoreMap":785},[790,931,932,935,937,941,944],{"class":792,"line":793},[790,933,934],{"class":800},"liquid_class",[790,936,805],{"class":804},[790,938,940],{"class":939},"swJcz","aspirate_flow_rate",[790,942,943],{"class":804}," =",[790,945,947],{"class":946},"sbssI"," 200\n",[773,949,951,962,1099,1105,1162],{"label":950},"Bravo",[756,952,953,954,957,958,961],{},"The ",[787,955,956],{},"BravoLiquidClasses"," factory provides access to predefined classes. Use ",[787,959,960],{},"find()"," to search by tip type or volume.",[780,963,965],{"className":782,"code":964,"language":784,"meta":785,"style":785},"from unitelabs.labware.agilent import BravoLiquidClasses\nfrom unitelabs.labware.agilent.tips import AgilentTip_250\n\nliquid_classes = BravoLiquidClasses()\n\n# Access by name\nlc = liquid_classes.OQ_96LT_water_highVol\n\n# Find matching classes for a given tip and volume\nresults = liquid_classes.find(tip=AgilentTip_250, volume=100)\n",[787,966,967,987,1012,1016,1028,1032,1037,1052,1056,1061],{"__ignoreMap":785},[790,968,969,971,973,975,977,979,982,984],{"class":792,"line":793},[790,970,797],{"class":796},[790,972,801],{"class":800},[790,974,805],{"class":804},[790,976,808],{"class":800},[790,978,805],{"class":804},[790,980,981],{"class":800},"agilent ",[790,983,816],{"class":796},[790,985,986],{"class":800}," BravoLiquidClasses\n",[790,988,989,991,993,995,997,999,1002,1004,1007,1009],{"class":792,"line":822},[790,990,797],{"class":796},[790,992,801],{"class":800},[790,994,805],{"class":804},[790,996,808],{"class":800},[790,998,805],{"class":804},[790,1000,1001],{"class":800},"agilent",[790,1003,805],{"class":804},[790,1005,1006],{"class":800},"tips ",[790,1008,816],{"class":796},[790,1010,1011],{"class":800}," AgilentTip_250\n",[790,1013,1014],{"class":792,"line":829},[790,1015,826],{"emptyLinePlaceholder":825},[790,1017,1018,1021,1023,1026],{"class":792,"line":845},[790,1019,1020],{"class":800},"liquid_classes ",[790,1022,881],{"class":804},[790,1024,1025],{"class":832}," BravoLiquidClasses",[790,1027,892],{"class":804},[790,1029,1030],{"class":792,"line":852},[790,1031,826],{"emptyLinePlaceholder":825},[790,1033,1034],{"class":792,"line":858},[790,1035,1036],{"class":848},"# Access by name\n",[790,1038,1039,1042,1044,1047,1049],{"class":792,"line":864},[790,1040,1041],{"class":800},"lc ",[790,1043,881],{"class":804},[790,1045,1046],{"class":800}," liquid_classes",[790,1048,805],{"class":804},[790,1050,1051],{"class":939},"OQ_96LT_water_highVol\n",[790,1053,1054],{"class":792,"line":870},[790,1055,826],{"emptyLinePlaceholder":825},[790,1057,1058],{"class":792,"line":875},[790,1059,1060],{"class":848},"# Find matching classes for a given tip and volume\n",[790,1062,1063,1066,1068,1070,1072,1075,1077,1081,1083,1086,1089,1092,1094,1097],{"class":792,"line":895},[790,1064,1065],{"class":800},"results ",[790,1067,881],{"class":804},[790,1069,1046],{"class":800},[790,1071,805],{"class":804},[790,1073,1074],{"class":832},"find",[790,1076,836],{"class":804},[790,1078,1080],{"class":1079},"sHdIc","tip",[790,1082,881],{"class":804},[790,1084,1085],{"class":832},"AgilentTip_250",[790,1087,1088],{"class":804},",",[790,1090,1091],{"class":1079}," volume",[790,1093,881],{"class":804},[790,1095,1096],{"class":946},"100",[790,1098,842],{"class":804},[756,1100,1101],{},[1102,1103,1104],"strong",{},"Available predefined classes (96LT head):",[1106,1107,1108,1127],"table",{},[1109,1110,1111],"thead",{},[1112,1113,1114,1118,1121,1124],"tr",{},[1115,1116,1117],"th",{},"Liquid Class",[1115,1119,1120],{},"Tip",[1115,1122,1123],{},"Volume Range",[1115,1125,1126],{},"Description",[1128,1129,1130,1147],"tbody",{},[1112,1131,1132,1138,1141,1144],{},[1133,1134,1135],"td",{},[787,1136,1137],{},"OQ_96LT_water_lowVol",[1133,1139,1140],{},"AgilentTip_200",[1133,1142,1143],{},"0–50 µL",[1133,1145,1146],{},"Water, low volume",[1112,1148,1149,1154,1156,1159],{},[1133,1150,1151],{},[787,1152,1153],{},"OQ_96LT_water_highVol",[1133,1155,1085],{},[1133,1157,1158],{},"51–250 µL",[1133,1160,1161],{},"Water, high volume",[756,1163,1164,1165,1168,1169,1172],{},"When no liquid class is passed to ",[787,1166,1167],{},"aspirate"," or ",[787,1170,1171],{},"dispense",", the SDK auto-selects based on the mounted tip type and requested volume.",[765,1174,1176],{"id":1175},"liquid-class-parameters","Liquid Class Parameters",[1178,1179,775],"h3",{"id":1180},"hamilton",[756,1182,1183],{},"Key parameters on a Hamilton liquid class:",[1106,1185,1186,1195],{},[1109,1187,1188],{},[1112,1189,1190,1193],{},[1115,1191,1192],{},"Parameter",[1115,1194,1126],{},[1128,1196,1197,1206,1216,1226,1236,1246,1256,1266,1276,1286,1296,1306],{},[1112,1198,1199,1203],{},[1133,1200,1201],{},[787,1202,940],{},[1133,1204,1205],{},"Plunger speed during aspiration (µL\u002Fs)",[1112,1207,1208,1213],{},[1133,1209,1210],{},[787,1211,1212],{},"aspirate_mix_flow_rate",[1133,1214,1215],{},"Plunger speed during mixing aspiration (µL\u002Fs)",[1112,1217,1218,1223],{},[1133,1219,1220],{},[787,1221,1222],{},"aspirate_transport_air_volume",[1133,1224,1225],{},"Air drawn after aspiration to prevent dripping (µL)",[1112,1227,1228,1233],{},[1133,1229,1230],{},[787,1231,1232],{},"aspirate_blowout_air_volume",[1133,1234,1235],{},"Pre-conditioning blowout air (µL)",[1112,1237,1238,1243],{},[1133,1239,1240],{},[787,1241,1242],{},"aspirate_swap_speed",[1133,1244,1245],{},"Retract speed after aspiration (mm\u002Fs)",[1112,1247,1248,1253],{},[1133,1249,1250],{},[787,1251,1252],{},"aspirate_settling_time",[1133,1254,1255],{},"Dwell time in liquid after aspiration (s)",[1112,1257,1258,1263],{},[1133,1259,1260],{},[787,1261,1262],{},"aspirate_over_aspirate_volume",[1133,1264,1265],{},"Pre-wetting extra volume (µL)",[1112,1267,1268,1273],{},[1133,1269,1270],{},[787,1271,1272],{},"dispense_mode",[1133,1274,1275],{},"Jet empty \u002F jet part \u002F surface empty \u002F surface part",[1112,1277,1278,1283],{},[1133,1279,1280],{},[787,1281,1282],{},"dispense_flow_rate",[1133,1284,1285],{},"Plunger speed during dispense (µL\u002Fs)",[1112,1287,1288,1293],{},[1133,1289,1290],{},[787,1291,1292],{},"dispense_stop_flow_rate",[1133,1294,1295],{},"Flow rate at end of dispense step (µL\u002Fs)",[1112,1297,1298,1303],{},[1133,1299,1300],{},[787,1301,1302],{},"dispense_stop_back_volume",[1133,1304,1305],{},"Air re-aspirated immediately after dispense (µL)",[1112,1307,1308,1313],{},[1133,1309,1310],{},[787,1311,1312],{},"curve",[1133,1314,1315,1316],{},"Volume correction map: ",[787,1317,1318],{},"{target_µL: corrected_µL, ...}",[1178,1320,950],{"id":1321},"bravo",[756,1323,1324],{},"Key parameters on a Bravo liquid class:",[1106,1326,1327,1338],{},[1109,1328,1329],{},[1112,1330,1331,1333,1336],{},[1115,1332,1192],{},[1115,1334,1335],{},"Default",[1115,1337,1126],{},[1128,1339,1340,1353,1366,1379,1392,1404,1415,1427],{},[1112,1341,1342,1347,1350],{},[1133,1343,1344],{},[787,1345,1346],{},"aspirate_velocity",[1133,1348,1349],{},"5.0 mm\u002Fs",[1133,1351,1352],{},"Plunger speed during aspiration",[1112,1354,1355,1360,1363],{},[1133,1356,1357],{},[787,1358,1359],{},"aspirate_acceleration",[1133,1361,1362],{},"10.0 mm\u002Fs²",[1133,1364,1365],{},"Plunger acceleration",[1112,1367,1368,1373,1376],{},[1133,1369,1370],{},[787,1371,1372],{},"aspirate_velocity_into_wells",[1133,1374,1375],{},"50.0 mm\u002Fs",[1133,1377,1378],{},"Z descent velocity",[1112,1380,1381,1386,1389],{},[1133,1382,1383],{},[787,1384,1385],{},"aspirate_post_delay_ms",[1133,1387,1388],{},"250 ms",[1133,1390,1391],{},"Dwell after aspiration",[1112,1393,1394,1399,1401],{},[1133,1395,1396],{},[787,1397,1398],{},"dispense_velocity",[1133,1400,1349],{},[1133,1402,1403],{},"Plunger speed during dispense",[1112,1405,1406,1411,1413],{},[1133,1407,1408],{},[787,1409,1410],{},"dispense_acceleration",[1133,1412,1362],{},[1133,1414,1365],{},[1112,1416,1417,1422,1424],{},[1133,1418,1419],{},[787,1420,1421],{},"dispense_post_delay_ms",[1133,1423,1388],{},[1133,1425,1426],{},"Dwell after dispense",[1112,1428,1429,1434,1439],{},[1133,1430,1431],{},[787,1432,1433],{},"coefficients",[1133,1435,1436],{},[790,1437,1438],{},"0.0, 1.0",[1133,1440,1441,1442],{},"Polynomial volume correction: ",[787,1443,1444],{},"corrected = c₀ + c₁·v + c₂·v² + ...",[765,1446,1448],{"id":1447},"creating-a-custom-liquid-class","Creating a Custom Liquid Class",[770,1450,1451,1906],{},[773,1452,1453,1460],{"label":775},[756,1454,1455,1456,1459],{},"Subclass ",[787,1457,1458],{},"HamiltonLiquidClass"," and override the fields you want to change. All other fields inherit their default values.",[780,1461,1463],{"className":782,"code":1462,"language":784,"meta":785,"style":785},"import dataclasses\n\nfrom unitelabs.labware import Decimal, Ingredient, Liquid, Mixture, PredefinedLiquids\nfrom unitelabs.labware.hamilton import DispenseMode, HamiltonLiquidClass, StandardTip\n\n\n@dataclasses.dataclass\nclass EthanolJetEmpty(HamiltonLiquidClass):\n    liquid: Mixture = dataclasses.field(\n        default_factory=lambda: Mixture([Ingredient(PredefinedLiquids.ETHANOL, 1)])\n    )\n    tip: type = HamiltonTip_300\n\n    aspirate_flow_rate: Decimal = Decimal(default=\"80\")\n    aspirate_settling_time: Decimal = Decimal(default=\"1.5\")\n    dispense_mode: int = DispenseMode.JET_EMPTY\n    dispense_flow_rate: Decimal = Decimal(default=\"150\")\n\n    curve: dict[float, float] = dataclasses.field(\n        default_factory=lambda: {\n            0.0: 0.0,\n            50.0: 52.1,\n            100.0: 103.8,\n            200.0: 207.0,\n            300.0: 311.2,\n        }\n    )\n",[787,1464,1465,1472,1476,1512,1541,1545,1549,1562,1579,1603,1641,1646,1661,1665,1697,1726,1746,1775,1780,1815,1829,1843,1856,1869,1882,1895,1901],{"__ignoreMap":785},[790,1466,1467,1469],{"class":792,"line":793},[790,1468,816],{"class":796},[790,1470,1471],{"class":800}," dataclasses\n",[790,1473,1474],{"class":792,"line":822},[790,1475,826],{"emptyLinePlaceholder":825},[790,1477,1478,1480,1482,1484,1487,1489,1492,1494,1497,1499,1502,1504,1507,1509],{"class":792,"line":829},[790,1479,797],{"class":796},[790,1481,801],{"class":800},[790,1483,805],{"class":804},[790,1485,1486],{"class":800},"labware ",[790,1488,816],{"class":796},[790,1490,1491],{"class":800}," Decimal",[790,1493,1088],{"class":804},[790,1495,1496],{"class":800}," Ingredient",[790,1498,1088],{"class":804},[790,1500,1501],{"class":800}," Liquid",[790,1503,1088],{"class":804},[790,1505,1506],{"class":800}," Mixture",[790,1508,1088],{"class":804},[790,1510,1511],{"class":800}," PredefinedLiquids\n",[790,1513,1514,1516,1518,1520,1522,1524,1526,1528,1531,1533,1536,1538],{"class":792,"line":845},[790,1515,797],{"class":796},[790,1517,801],{"class":800},[790,1519,805],{"class":804},[790,1521,808],{"class":800},[790,1523,805],{"class":804},[790,1525,813],{"class":800},[790,1527,816],{"class":796},[790,1529,1530],{"class":800}," DispenseMode",[790,1532,1088],{"class":804},[790,1534,1535],{"class":800}," HamiltonLiquidClass",[790,1537,1088],{"class":804},[790,1539,1540],{"class":800}," StandardTip\n",[790,1542,1543],{"class":792,"line":852},[790,1544,826],{"emptyLinePlaceholder":825},[790,1546,1547],{"class":792,"line":858},[790,1548,826],{"emptyLinePlaceholder":825},[790,1550,1551,1554,1557,1559],{"class":792,"line":864},[790,1552,1553],{"class":804},"@",[790,1555,1556],{"class":832},"dataclasses",[790,1558,805],{"class":804},[790,1560,1561],{"class":832},"dataclass\n",[790,1563,1564,1568,1572,1574,1576],{"class":792,"line":870},[790,1565,1567],{"class":1566},"spNyl","class",[790,1569,1571],{"class":1570},"sBMFI"," EthanolJetEmpty",[790,1573,836],{"class":804},[790,1575,1458],{"class":1570},[790,1577,1578],{"class":804},"):\n",[790,1580,1581,1584,1587,1590,1592,1595,1597,1600],{"class":792,"line":875},[790,1582,1583],{"class":800},"    liquid",[790,1585,1586],{"class":804},":",[790,1588,1589],{"class":800}," Mixture ",[790,1591,881],{"class":804},[790,1593,1594],{"class":800}," dataclasses",[790,1596,805],{"class":804},[790,1598,1599],{"class":832},"field",[790,1601,1602],{"class":804},"(\n",[790,1604,1605,1608,1610,1613,1615,1617,1620,1623,1625,1628,1630,1633,1635,1638],{"class":792,"line":895},[790,1606,1607],{"class":1079},"        default_factory",[790,1609,881],{"class":804},[790,1611,1612],{"class":1566},"lambda",[790,1614,1586],{"class":804},[790,1616,1506],{"class":832},[790,1618,1619],{"class":804},"([",[790,1621,1622],{"class":832},"Ingredient",[790,1624,836],{"class":804},[790,1626,1627],{"class":832},"PredefinedLiquids",[790,1629,805],{"class":804},[790,1631,1632],{"class":939},"ETHANOL",[790,1634,1088],{"class":804},[790,1636,1637],{"class":946}," 1",[790,1639,1640],{"class":804},")])\n",[790,1642,1643],{"class":792,"line":900},[790,1644,1645],{"class":804},"    )\n",[790,1647,1648,1651,1653,1656,1658],{"class":792,"line":906},[790,1649,1650],{"class":800},"    tip",[790,1652,1586],{"class":804},[790,1654,1655],{"class":1570}," type",[790,1657,943],{"class":804},[790,1659,1660],{"class":800}," HamiltonTip_300\n",[790,1662,1663],{"class":792,"line":912},[790,1664,826],{"emptyLinePlaceholder":825},[790,1666,1667,1670,1672,1675,1677,1679,1681,1684,1686,1689,1693,1695],{"class":792,"line":918},[790,1668,1669],{"class":800},"    aspirate_flow_rate",[790,1671,1586],{"class":804},[790,1673,1674],{"class":800}," Decimal ",[790,1676,881],{"class":804},[790,1678,1491],{"class":832},[790,1680,836],{"class":804},[790,1682,1683],{"class":1079},"default",[790,1685,881],{"class":804},[790,1687,1688],{"class":804},"\"",[790,1690,1692],{"class":1691},"sfazB","80",[790,1694,1688],{"class":804},[790,1696,842],{"class":804},[790,1698,1700,1703,1705,1707,1709,1711,1713,1715,1717,1719,1722,1724],{"class":792,"line":1699},15,[790,1701,1702],{"class":800},"    aspirate_settling_time",[790,1704,1586],{"class":804},[790,1706,1674],{"class":800},[790,1708,881],{"class":804},[790,1710,1491],{"class":832},[790,1712,836],{"class":804},[790,1714,1683],{"class":1079},[790,1716,881],{"class":804},[790,1718,1688],{"class":804},[790,1720,1721],{"class":1691},"1.5",[790,1723,1688],{"class":804},[790,1725,842],{"class":804},[790,1727,1729,1732,1734,1737,1739,1741,1743],{"class":792,"line":1728},16,[790,1730,1731],{"class":800},"    dispense_mode",[790,1733,1586],{"class":804},[790,1735,1736],{"class":1570}," int",[790,1738,943],{"class":804},[790,1740,1530],{"class":800},[790,1742,805],{"class":804},[790,1744,1745],{"class":939},"JET_EMPTY\n",[790,1747,1749,1752,1754,1756,1758,1760,1762,1764,1766,1768,1771,1773],{"class":792,"line":1748},17,[790,1750,1751],{"class":800},"    dispense_flow_rate",[790,1753,1586],{"class":804},[790,1755,1674],{"class":800},[790,1757,881],{"class":804},[790,1759,1491],{"class":832},[790,1761,836],{"class":804},[790,1763,1683],{"class":1079},[790,1765,881],{"class":804},[790,1767,1688],{"class":804},[790,1769,1770],{"class":1691},"150",[790,1772,1688],{"class":804},[790,1774,842],{"class":804},[790,1776,1778],{"class":792,"line":1777},18,[790,1779,826],{"emptyLinePlaceholder":825},[790,1781,1783,1786,1788,1791,1794,1797,1799,1802,1805,1807,1809,1811,1813],{"class":792,"line":1782},19,[790,1784,1785],{"class":800},"    curve",[790,1787,1586],{"class":804},[790,1789,1790],{"class":800}," dict",[790,1792,1793],{"class":804},"[",[790,1795,1796],{"class":1570},"float",[790,1798,1088],{"class":804},[790,1800,1801],{"class":1570}," float",[790,1803,1804],{"class":804},"]",[790,1806,943],{"class":804},[790,1808,1594],{"class":800},[790,1810,805],{"class":804},[790,1812,1599],{"class":832},[790,1814,1602],{"class":804},[790,1816,1818,1820,1822,1824,1826],{"class":792,"line":1817},20,[790,1819,1607],{"class":1079},[790,1821,881],{"class":804},[790,1823,1612],{"class":1566},[790,1825,1586],{"class":804},[790,1827,1828],{"class":804}," {\n",[790,1830,1832,1835,1837,1840],{"class":792,"line":1831},21,[790,1833,1834],{"class":946},"            0.0",[790,1836,1586],{"class":804},[790,1838,1839],{"class":946}," 0.0",[790,1841,1842],{"class":804},",\n",[790,1844,1846,1849,1851,1854],{"class":792,"line":1845},22,[790,1847,1848],{"class":946},"            50.0",[790,1850,1586],{"class":804},[790,1852,1853],{"class":946}," 52.1",[790,1855,1842],{"class":804},[790,1857,1859,1862,1864,1867],{"class":792,"line":1858},23,[790,1860,1861],{"class":946},"            100.0",[790,1863,1586],{"class":804},[790,1865,1866],{"class":946}," 103.8",[790,1868,1842],{"class":804},[790,1870,1872,1875,1877,1880],{"class":792,"line":1871},24,[790,1873,1874],{"class":946},"            200.0",[790,1876,1586],{"class":804},[790,1878,1879],{"class":946}," 207.0",[790,1881,1842],{"class":804},[790,1883,1885,1888,1890,1893],{"class":792,"line":1884},25,[790,1886,1887],{"class":946},"            300.0",[790,1889,1586],{"class":804},[790,1891,1892],{"class":946}," 311.2",[790,1894,1842],{"class":804},[790,1896,1898],{"class":792,"line":1897},26,[790,1899,1900],{"class":804},"        }\n",[790,1902,1904],{"class":792,"line":1903},27,[790,1905,1645],{"class":804},[773,1907,1908,1917,1922,2423,2428,2617],{"label":950},[756,1909,1455,1910,1913,1914,1916],{},[787,1911,1912],{},"BravoLiquidClass"," and override fields as needed. Provide ",[787,1915,1433],{}," directly or fit them from calibration data.",[756,1918,1919],{},[1102,1920,1921],{},"With direct coefficients:",[780,1923,1925],{"className":782,"code":1924,"language":784,"meta":785,"style":785},"import dataclasses\nimport decimal\n\nfrom unitelabs.labware.agilent.liquids.bravo_liquid_class import BravoLiquidClass\nfrom unitelabs.labware.agilent.tips import LT250Tip, AgilentTip\nfrom unitelabs.labware.liquids import Liquid, Mixture, PredefinedLiquids\nfrom unitelabs.labware.math import Decimal\n\n\ndef _ethanol_mixture() -> Mixture:\n    return Mixture({PredefinedLiquids.ETHANOL: 1})\n\n\n@dataclasses.dataclass\nclass EthanolLiquidClass(BravoLiquidClass):\n    liquid: Mixture = dataclasses.field(default_factory=_ethanol_mixture)\n    tip: type[AgilentTip] = AgilentTip_250\n    min_volume: Decimal = dataclasses.field(default=Decimal(default=\"0\"))\n    max_volume: Decimal = dataclasses.field(default=Decimal(default=\"250\"))\n    coefficients: list[decimal.Decimal] = dataclasses.field(\n        default_factory=lambda: [decimal.Decimal(\"0.05\"), decimal.Decimal(\"1.02\")]\n    )\n    aspirate_velocity: Decimal = dataclasses.field(default=Decimal(default=\"35.0\"))\n    dispense_velocity: Decimal = dataclasses.field(default=Decimal(default=\"40.0\"))\n",[787,1926,1927,1933,1940,1944,1973,2001,2028,2048,2052,2056,2075,2098,2102,2106,2116,2129,2157,2176,2218,2258,2289,2339,2343,2383],{"__ignoreMap":785},[790,1928,1929,1931],{"class":792,"line":793},[790,1930,816],{"class":796},[790,1932,1471],{"class":800},[790,1934,1935,1937],{"class":792,"line":822},[790,1936,816],{"class":796},[790,1938,1939],{"class":800}," decimal\n",[790,1941,1942],{"class":792,"line":829},[790,1943,826],{"emptyLinePlaceholder":825},[790,1945,1946,1948,1950,1952,1954,1956,1958,1960,1963,1965,1968,1970],{"class":792,"line":845},[790,1947,797],{"class":796},[790,1949,801],{"class":800},[790,1951,805],{"class":804},[790,1953,808],{"class":800},[790,1955,805],{"class":804},[790,1957,1001],{"class":800},[790,1959,805],{"class":804},[790,1961,1962],{"class":800},"liquids",[790,1964,805],{"class":804},[790,1966,1967],{"class":800},"bravo_liquid_class ",[790,1969,816],{"class":796},[790,1971,1972],{"class":800}," BravoLiquidClass\n",[790,1974,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1996,1998],{"class":792,"line":852},[790,1976,797],{"class":796},[790,1978,801],{"class":800},[790,1980,805],{"class":804},[790,1982,808],{"class":800},[790,1984,805],{"class":804},[790,1986,1001],{"class":800},[790,1988,805],{"class":804},[790,1990,1006],{"class":800},[790,1992,816],{"class":796},[790,1994,1995],{"class":800}," LT250Tip",[790,1997,1088],{"class":804},[790,1999,2000],{"class":800}," AgilentTip\n",[790,2002,2003,2005,2007,2009,2011,2013,2016,2018,2020,2022,2024,2026],{"class":792,"line":858},[790,2004,797],{"class":796},[790,2006,801],{"class":800},[790,2008,805],{"class":804},[790,2010,808],{"class":800},[790,2012,805],{"class":804},[790,2014,2015],{"class":800},"liquids ",[790,2017,816],{"class":796},[790,2019,1501],{"class":800},[790,2021,1088],{"class":804},[790,2023,1506],{"class":800},[790,2025,1088],{"class":804},[790,2027,1511],{"class":800},[790,2029,2030,2032,2034,2036,2038,2040,2043,2045],{"class":792,"line":864},[790,2031,797],{"class":796},[790,2033,801],{"class":800},[790,2035,805],{"class":804},[790,2037,808],{"class":800},[790,2039,805],{"class":804},[790,2041,2042],{"class":800},"math ",[790,2044,816],{"class":796},[790,2046,2047],{"class":800}," Decimal\n",[790,2049,2050],{"class":792,"line":870},[790,2051,826],{"emptyLinePlaceholder":825},[790,2053,2054],{"class":792,"line":875},[790,2055,826],{"emptyLinePlaceholder":825},[790,2057,2058,2061,2064,2067,2070,2072],{"class":792,"line":895},[790,2059,2060],{"class":1566},"def",[790,2062,2063],{"class":832}," _ethanol_mixture",[790,2065,2066],{"class":804},"()",[790,2068,2069],{"class":804}," ->",[790,2071,1506],{"class":800},[790,2073,2074],{"class":804},":\n",[790,2076,2077,2080,2082,2085,2087,2089,2091,2093,2095],{"class":792,"line":900},[790,2078,2079],{"class":796},"    return",[790,2081,1506],{"class":832},[790,2083,2084],{"class":804},"({",[790,2086,1627],{"class":832},[790,2088,805],{"class":804},[790,2090,1632],{"class":939},[790,2092,1586],{"class":804},[790,2094,1637],{"class":946},[790,2096,2097],{"class":804},"})\n",[790,2099,2100],{"class":792,"line":906},[790,2101,826],{"emptyLinePlaceholder":825},[790,2103,2104],{"class":792,"line":912},[790,2105,826],{"emptyLinePlaceholder":825},[790,2107,2108,2110,2112,2114],{"class":792,"line":918},[790,2109,1553],{"class":804},[790,2111,1556],{"class":832},[790,2113,805],{"class":804},[790,2115,1561],{"class":832},[790,2117,2118,2120,2123,2125,2127],{"class":792,"line":1699},[790,2119,1567],{"class":1566},[790,2121,2122],{"class":1570}," EthanolLiquidClass",[790,2124,836],{"class":804},[790,2126,1912],{"class":1570},[790,2128,1578],{"class":804},[790,2130,2131,2133,2135,2137,2139,2141,2143,2145,2147,2150,2152,2155],{"class":792,"line":1728},[790,2132,1583],{"class":800},[790,2134,1586],{"class":804},[790,2136,1589],{"class":800},[790,2138,881],{"class":804},[790,2140,1594],{"class":800},[790,2142,805],{"class":804},[790,2144,1599],{"class":832},[790,2146,836],{"class":804},[790,2148,2149],{"class":1079},"default_factory",[790,2151,881],{"class":804},[790,2153,2154],{"class":832},"_ethanol_mixture",[790,2156,842],{"class":804},[790,2158,2159,2161,2163,2165,2167,2170,2172,2174],{"class":792,"line":1748},[790,2160,1650],{"class":800},[790,2162,1586],{"class":804},[790,2164,1655],{"class":800},[790,2166,1793],{"class":804},[790,2168,2169],{"class":800},"AgilentTip",[790,2171,1804],{"class":804},[790,2173,943],{"class":804},[790,2175,1011],{"class":800},[790,2177,2178,2181,2183,2185,2187,2189,2191,2193,2195,2197,2199,2202,2204,2206,2208,2210,2213,2215],{"class":792,"line":1777},[790,2179,2180],{"class":800},"    min_volume",[790,2182,1586],{"class":804},[790,2184,1674],{"class":800},[790,2186,881],{"class":804},[790,2188,1594],{"class":800},[790,2190,805],{"class":804},[790,2192,1599],{"class":832},[790,2194,836],{"class":804},[790,2196,1683],{"class":1079},[790,2198,881],{"class":804},[790,2200,2201],{"class":832},"Decimal",[790,2203,836],{"class":804},[790,2205,1683],{"class":1079},[790,2207,881],{"class":804},[790,2209,1688],{"class":804},[790,2211,2212],{"class":1691},"0",[790,2214,1688],{"class":804},[790,2216,2217],{"class":804},"))\n",[790,2219,2220,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2254,2256],{"class":792,"line":1782},[790,2221,2222],{"class":800},"    max_volume",[790,2224,1586],{"class":804},[790,2226,1674],{"class":800},[790,2228,881],{"class":804},[790,2230,1594],{"class":800},[790,2232,805],{"class":804},[790,2234,1599],{"class":832},[790,2236,836],{"class":804},[790,2238,1683],{"class":1079},[790,2240,881],{"class":804},[790,2242,2201],{"class":832},[790,2244,836],{"class":804},[790,2246,1683],{"class":1079},[790,2248,881],{"class":804},[790,2250,1688],{"class":804},[790,2252,2253],{"class":1691},"250",[790,2255,1688],{"class":804},[790,2257,2217],{"class":804},[790,2259,2260,2263,2265,2268,2270,2273,2275,2277,2279,2281,2283,2285,2287],{"class":792,"line":1817},[790,2261,2262],{"class":800},"    coefficients",[790,2264,1586],{"class":804},[790,2266,2267],{"class":800}," list",[790,2269,1793],{"class":804},[790,2271,2272],{"class":800},"decimal",[790,2274,805],{"class":804},[790,2276,2201],{"class":939},[790,2278,1804],{"class":804},[790,2280,943],{"class":804},[790,2282,1594],{"class":800},[790,2284,805],{"class":804},[790,2286,1599],{"class":832},[790,2288,1602],{"class":804},[790,2290,2291,2293,2295,2297,2299,2302,2304,2306,2308,2310,2312,2315,2317,2320,2323,2325,2327,2329,2331,2334,2336],{"class":792,"line":1831},[790,2292,1607],{"class":1079},[790,2294,881],{"class":804},[790,2296,1612],{"class":1566},[790,2298,1586],{"class":804},[790,2300,2301],{"class":804}," [",[790,2303,2272],{"class":832},[790,2305,805],{"class":804},[790,2307,2201],{"class":832},[790,2309,836],{"class":804},[790,2311,1688],{"class":804},[790,2313,2314],{"class":1691},"0.05",[790,2316,1688],{"class":804},[790,2318,2319],{"class":804},"),",[790,2321,2322],{"class":832}," decimal",[790,2324,805],{"class":804},[790,2326,2201],{"class":832},[790,2328,836],{"class":804},[790,2330,1688],{"class":804},[790,2332,2333],{"class":1691},"1.02",[790,2335,1688],{"class":804},[790,2337,2338],{"class":804},")]\n",[790,2340,2341],{"class":792,"line":1845},[790,2342,1645],{"class":804},[790,2344,2345,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2379,2381],{"class":792,"line":1858},[790,2346,2347],{"class":800},"    aspirate_velocity",[790,2349,1586],{"class":804},[790,2351,1674],{"class":800},[790,2353,881],{"class":804},[790,2355,1594],{"class":800},[790,2357,805],{"class":804},[790,2359,1599],{"class":832},[790,2361,836],{"class":804},[790,2363,1683],{"class":1079},[790,2365,881],{"class":804},[790,2367,2201],{"class":832},[790,2369,836],{"class":804},[790,2371,1683],{"class":1079},[790,2373,881],{"class":804},[790,2375,1688],{"class":804},[790,2377,2378],{"class":1691},"35.0",[790,2380,1688],{"class":804},[790,2382,2217],{"class":804},[790,2384,2385,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2419,2421],{"class":792,"line":1871},[790,2386,2387],{"class":800},"    dispense_velocity",[790,2389,1586],{"class":804},[790,2391,1674],{"class":800},[790,2393,881],{"class":804},[790,2395,1594],{"class":800},[790,2397,805],{"class":804},[790,2399,1599],{"class":832},[790,2401,836],{"class":804},[790,2403,1683],{"class":1079},[790,2405,881],{"class":804},[790,2407,2201],{"class":832},[790,2409,836],{"class":804},[790,2411,1683],{"class":1079},[790,2413,881],{"class":804},[790,2415,1688],{"class":804},[790,2417,2418],{"class":1691},"40.0",[790,2420,1688],{"class":804},[790,2422,2217],{"class":804},[756,2424,2425],{},[1102,2426,2427],{},"With calibration curve (SDK fits the polynomial automatically):",[780,2429,2431],{"className":782,"code":2430,"language":784,"meta":785,"style":785},"@dataclasses.dataclass\nclass CalibratedEthanol(BravoLiquidClass):\n    tip: type[AgilentTip] = AgilentTip_250\n    coefficients: list[decimal.Decimal] | int = 2  # fit a 2nd-order polynomial\n    curve: dict[float, float] | None = dataclasses.field(\n        default_factory=lambda: {\n            0: 0.0, 50: 51.8, 100: 102.5, 150: 153.4, 200: 204.6, 250: 255.9\n        }\n    )\n",[787,2432,2433,2443,2456,2474,2505,2538,2550,2609,2613],{"__ignoreMap":785},[790,2434,2435,2437,2439,2441],{"class":792,"line":793},[790,2436,1553],{"class":804},[790,2438,1556],{"class":832},[790,2440,805],{"class":804},[790,2442,1561],{"class":832},[790,2444,2445,2447,2450,2452,2454],{"class":792,"line":822},[790,2446,1567],{"class":1566},[790,2448,2449],{"class":1570}," CalibratedEthanol",[790,2451,836],{"class":804},[790,2453,1912],{"class":1570},[790,2455,1578],{"class":804},[790,2457,2458,2460,2462,2464,2466,2468,2470,2472],{"class":792,"line":829},[790,2459,1650],{"class":800},[790,2461,1586],{"class":804},[790,2463,1655],{"class":800},[790,2465,1793],{"class":804},[790,2467,2169],{"class":800},[790,2469,1804],{"class":804},[790,2471,943],{"class":804},[790,2473,1011],{"class":800},[790,2475,2476,2478,2480,2482,2484,2486,2488,2490,2492,2495,2497,2499,2502],{"class":792,"line":845},[790,2477,2262],{"class":800},[790,2479,1586],{"class":804},[790,2481,2267],{"class":800},[790,2483,1793],{"class":804},[790,2485,2272],{"class":800},[790,2487,805],{"class":804},[790,2489,2201],{"class":939},[790,2491,1804],{"class":804},[790,2493,2494],{"class":804}," |",[790,2496,1736],{"class":1570},[790,2498,943],{"class":804},[790,2500,2501],{"class":946}," 2",[790,2503,2504],{"class":848},"  # fit a 2nd-order polynomial\n",[790,2506,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525,2528,2530,2532,2534,2536],{"class":792,"line":852},[790,2508,1785],{"class":800},[790,2510,1586],{"class":804},[790,2512,1790],{"class":800},[790,2514,1793],{"class":804},[790,2516,1796],{"class":1570},[790,2518,1088],{"class":804},[790,2520,1801],{"class":1570},[790,2522,1804],{"class":804},[790,2524,2494],{"class":804},[790,2526,2527],{"class":804}," None",[790,2529,943],{"class":804},[790,2531,1594],{"class":800},[790,2533,805],{"class":804},[790,2535,1599],{"class":832},[790,2537,1602],{"class":804},[790,2539,2540,2542,2544,2546,2548],{"class":792,"line":858},[790,2541,1607],{"class":1079},[790,2543,881],{"class":804},[790,2545,1612],{"class":1566},[790,2547,1586],{"class":804},[790,2549,1828],{"class":804},[790,2551,2552,2555,2557,2559,2561,2564,2566,2569,2571,2574,2576,2579,2581,2584,2586,2589,2591,2594,2596,2599,2601,2604,2606],{"class":792,"line":864},[790,2553,2554],{"class":946},"            0",[790,2556,1586],{"class":804},[790,2558,1839],{"class":946},[790,2560,1088],{"class":804},[790,2562,2563],{"class":946}," 50",[790,2565,1586],{"class":804},[790,2567,2568],{"class":946}," 51.8",[790,2570,1088],{"class":804},[790,2572,2573],{"class":946}," 100",[790,2575,1586],{"class":804},[790,2577,2578],{"class":946}," 102.5",[790,2580,1088],{"class":804},[790,2582,2583],{"class":946}," 150",[790,2585,1586],{"class":804},[790,2587,2588],{"class":946}," 153.4",[790,2590,1088],{"class":804},[790,2592,2593],{"class":946}," 200",[790,2595,1586],{"class":804},[790,2597,2598],{"class":946}," 204.6",[790,2600,1088],{"class":804},[790,2602,2603],{"class":946}," 250",[790,2605,1586],{"class":804},[790,2607,2608],{"class":946}," 255.9\n",[790,2610,2611],{"class":792,"line":870},[790,2612,1900],{"class":804},[790,2614,2615],{"class":792,"line":875},[790,2616,1645],{"class":804},[756,2618,2619,2620,805],{},"For full parameter details see ",[760,2621,2623],{"href":2622},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fliquid-classes\u002F","Bravo Liquid Classes",[2625,2626,2627],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":785,"searchDepth":793,"depth":822,"links":2629},[2630,2631,2635],{"id":767,"depth":822,"text":768},{"id":1175,"depth":822,"text":1176,"children":2632},[2633,2634],{"id":1180,"depth":829,"text":775},{"id":1321,"depth":829,"text":950},{"id":1447,"depth":822,"text":1448},"Using predefined and custom liquid classes on Hamilton and Agilent Bravo liquid handlers.","md",null,{},{"title":171,"description":2636},"vBoWucovXIL1PxVnMJ0WrErngFz4eCrqyXKVtCpLIN4",[2643,2645],{"title":246,"path":247,"stem":248,"description":2644},"Picking up, returning, and discarding tips on Hamilton and Agilent Bravo liquid handlers.",{"title":253,"path":254,"stem":255,"description":2646},"Moving labware during a run using different available grippers on Hamilton Star, Hamilton Vantage, and Bravo liquid handling stations.",1783607771454]