OOLITIC → contains → AQUIFER · OPEN-ECOSYSTEM SURVEY

A map of the open lab-automation ecosystem — credited to the community that built it.

Aquifer is the public survey inside Oolitic, DArnTech's on-prem domain-intelligence program. It reads the open world around PyLabRobot and labautomation.io — the code and its docs, the community's shared protocols, and the forum threads where its users talk — and organizes all of it into one structured map of how that world fits together.

It is a map of their public surface, not a product demo. Everything here is sourced from public material, credited to its authors, and links back to them. Read the four promises below before the map.

How this map is built — four promises
Promise 1 · Attribution

Credit the source

Every item is the work of the open community. We credit labautomation.io / PyLabRobot and link back — never presenting their work as ours.

Promise 2 · No endorsement

Independent, not affiliated

This is an independent survey. DArnTech / Oolitic is not affiliated with, sponsored by, or endorsed by PyLabRobot or labautomation.io.

Promise 3 · License-respect

Only what the license permits

We map and redistribute only what each item's license allows — structure and citations with attribution; forum posts paraphrased and credited, never republished wholesale.

Promise 4 · Map, not demo

A survey, not a product

This page surveys the community's public surface. It renders no Oolitic engine output and makes no built-product claim — it is a map.

The ecosystem, in facets

The open world sorts into a handful of facets. Each one states what the public surface actually provides, how rich or thin that coverage honestly is, and — as a concept, not a running feature — the shape it would map onto in an operating layer.

FACET 01

Resource & labware definitions operation-graph nodes

Public coverage · Rich

PyLabRobot's most mature surface. It splits cleanly into a Resource Management System (the model of physical reality) and a Machine Control System. The resource side gives every piece of labware a typed, spatially-aware definition — geometry, coordinates, volume — nested into a tree rooted at the deck. All of it lives in the pylabrobot.resources package.

  • Deck — the root container / coordinate origin.
  • Carrier / PlateCarrier / TipCarrier / ResourceHolder — positioning and holding intermediaries.
  • PlateWells · TipRackTipSpots · Container / Trough reservoir types.
  • Per-resource state — well volumes, tip presence and usage — tracked on the tree.
Mapping concept (not a live feature)

A typed, nested, geometry-bearing resource tree is structurally a node set for an operation graph: each labware item is a typed node with attributes and parent/child edges. The point of the map is that the open ontology already supplies a clean node vocabulary to align to — you map onto theirs, you do not invent labware types.

License posture: PyLabRobot is MIT. The class taxonomy and docs are freely citable and mappable with attribution and link-back — no restriction here.

FACET 02

Machine backends instrument layer + emit target

Public coverage · Rich

The operator always talks to one stable interface layer (LiquidHandler, PlateReader, …). Each interface holds a backend that translates universal commands into hardware-specific instructions. The whole liquid-handling surface reduces to four universal atomic commandspick_up_tips, drop_tips, aspirate, dispense.

  • Liquid handlers: Hamilton STAR & Vantage, Tecan Freedom EVO, Opentrons OT-2.
  • Plate readers: CLARIOstar, Cytation5 (BMG family referenced).
  • And more: Mettler Toledo scale, VSpin centrifuge, Inheco heater-shaker, Hamilton HEPA fan, Cole-Parmer pump, generic thermocyclers.
  • Cross-platform — Windows / macOS / Linux (vs. many vendor stacks being Windows-only).
Mapping concept (not a live feature)

Two roles. The backend roster is the operation-graph instrument layer — the set of executable targets a method can bind to. And the open Python API is the natural emit target: an operating layer generates to this open interface, never to a proprietary vendor GUI. Emitting to an open API is what keeps the whole approach clean-room.

License posture: MIT. The backend roster and the atomic-command contract are public API surface — freely mappable with attribution.

FACET 03

Protocol scripts operation sequences

Public coverage · Thin (honest)

The facet that matters most for "shared protocols" is, honestly, the thinnest in delivered form. What actually exists in public today:

  • The PyLabRobot Cookbook (launched Nov 2025) — a curated collection of modular, interoperable code examples, structured Tutorials → Recipes → a future Protocol Library. Credit: CamilloMoschner.
  • The Protocol Library thread — proposed by aidan-baydush, who contributed a working turbidostat protocol. Community consensus favors modular, configurable protocols with validation files over complete end-to-end solutions.
  • Named-but-not-yet-built families — cherry-picking, normalization, serial dilution, plate-stamping. These are real demand signals, not yet a public corpus.
Mapping concept (not a live feature)

Where public protocols exist they map directly to operation sequences — ordered atomic-command chains over the Facet 1 nodes, bound to Facet 2 instruments. The turbidostat is the one concrete, fully-described public sequence; the named families are labels without canonical public implementations.

Candor — flagged thin, not padded

This facet is rich in demand and thin in delivered protocols. There is no large public corpus of canonical protocols — there is genuine demand and a nascent, open Cookbook the community is building itself. We map what exists and say plainly where it is sparse. Anyone claiming "a protocol corpus" here today would be inflating it.

License posture: Cookbook recipes ship under PyLabRobot's MIT license (verified per-file before any redistribution). Forum-posted protocols are user posts — summarized, attributed by username, and linked back; never republished wholesale.

FACET 04

Forum, wishlist & "gotcha" threads pattern library

Public coverage · Rich demand, thin content

Two community surfaces carry the demand and pain signals: the broad labautomation.io Lab Automation Forums, and discuss.pylabrobot.org where the deep development threads live. The clearest single artifact is the wishlist thread — "What do you wish PLR did that it cannot currently do?" — every distinct request below, credited to the person who asked.

The wishlist — community requests, attributed
Asked byWantCategory
cwehrhanA repository of basic protocols people can riff off — "would really help my non-technical colleagues" (cherry-picking, normalization, serial dilution, plate stamper, visual transfer selector)protocol-library gap
CamilloMoschnerStandardize STARBackend argument naming across methodsAPI design
CamilloMoschner"Documentation, documentation, documentation"docs
CamilloMoschnerResource-model overhaul — ResourceHolder for trays, Rack subclasses, multi-child carriers, Tip/TipRack reworkresource model
CamilloMoschnerVersioning + simpler install for entry/mid-level scriptersdeployment
CamilloMoschnerError handling for tip_pickup / aspirate / dispense / drop_tiperror handling
CamilloMoschnerNew machine integrations — "big one == arms" (robotic arms)hardware
cwehrhanVisualizer: green-circle transferred wells, red error wells, toggle name layersvisualizer
hazlamshaminVisualizer time-travel playback — "click forward and backward through the states like a debugger"visualizer
cwehrhanFormulatrix FLO i8 support (cLLD, sensors, camera); Tecan Fluent noted unrealistic now (no firmware docs)hardware
Mapping concept (not a live feature)

Forum threads are the seed of a pattern library — what counts as "normal," where hand-offs happen, where things break. The pattern that jumps out is the absence of one: error handling and safety on the atomic commands is a top wish, not a delivered feature. That absence is the precise shape of the gap an operating layer would fill — reasoning that inserts the safety gate a hand-off requires — and the forum proves the demand for it in the community's own words.

Candor — thin facet, honestly

This facet is rich in what people want and thin in documented safety/handoff patterns anyone could lift. There is no public corpus of "validated safety gates for protocol X." So this is demand-evidence today, not pattern-content — useful for showing the community asks for exactly this, not yet a mineable knowledge base. We will not overstate it.

License posture: all forum content is user-authored. Posture here is link + attribute by username + paraphrase the request — post bodies are never republished.

FACET 05

Protocol API schema schema / safety-validation authority

Public coverage · Schema rich, safety absent

The serialization side is well-defined and public; the safety side is where the open surface stops — and that stopping point is itself the signal.

  • Schema / serialization: every Resource serializes via .serialize() / .save() to JSON — a full recursive dump of the resource tree (children, coordinates, wells); Resource.load restores it.
  • State is captured separately (well volumes, tip usage) via save_state_to_file / serialize_all_state() and their load counterparts.
  • An open thread debates a compact save format vs. the verbose recursive dump — the schema is stable enough that the community is now optimizing it.
  • Safety / validation: there is no dedicated validation or safety-authority layer. Validation appears only as per-resource volume/geometry constraints and a proposed validation.json convention (which records what was tested, not safety rules). Error handling is a wishlist item, not a shipped subsystem.
Mapping concept (not a live feature)

The JSON resource/state schema is the natural schema authority to align to — you validate a generated protocol against the format the open execution layer already accepts, so output is always well-formed. The safety-validation authority is the part the open surface leaves empty — which is exactly where a reasoning layer would sit. Mapping onto the public schema is clean-room and credible; the safety reasoning on top is the part nobody has built.

License posture: the schema is MIT API surface — freely mappable with attribution.

The relationship web

A community is its people. These are the public voices steering the open ecosystem — the maintainers, the most active contributors, the persona who named the gap, and the academic origin. Mapped from public posts and the published paper, credited to each, and read as an ally surveying the ecosystem — not a competitor scraping it.

Person / orgRole in the ecosystemWhat the signal means
rickwierengaCore maintainer + primary decision-maker; lead author of the paperGatekeeper of what the project becomes; sets conventions and a "keep it simple" posture.
CamilloMoschnerMost active power-contributor; created the Cookbook; deep resource-model + deployment voiceThe person actually building the open protocol-library / AI-training surface — closest to the commoditization edge; worth watching closely.
cwehrhanVoiced the non-programmer protocol-library gap, plus visualizer and hardware wishesThe literal persona an operating layer would serve — "help my non-technical colleagues."
aidan-baydushProposed the Protocol Library; contributed a working turbidostat protocolDemand for shared protocols, expressed directly in code.
hazlamshaminAsked for visualizer time-travel / playbackAppetite for richer state and observability — adjacent to operation-graph value.
Paper authorsWierenga, Golas, Ho, Connor Coley, Kevin Esvelt · MIT Media Lab · Device (Cell Press) 2023The project's academic originCredibility anchor; Coley and Esvelt are recognizable names in the field.
Pioneer LabsDevon StorkPublished "We Replaced Our Automation Software Stack With Python"The flagship "a real lab dropped its vendor stack" proof point, and a clear picture of the self-serve scientist persona.
Argonne RPL, Opentrons communityInstitutional and adjacent usersBreadth of adoption across the field.

The broader ecosystem

The open lab-automation surface beyond PyLabRobot proper — the adjacent APIs, the standardization efforts that have not yet solved interoperability, and the reference material. Context for the "build on the open layer, don't compete with it" framing.

Adjacent open APIs

Each is single-vendor; the cross-vendor wedge is what sets PyLabRobot apart.

  • PyHamilton — Hamilton-specific Python
  • Opentrons HTTP API + protocol library
  • Vendor C# for Tecan Fluent

Standardization efforts

Named efforts exist, but none has solved interoperability at the execution layer:

  • SiLA · LabOp
  • Emerald Cloud Lab's Symbolic Lab Language
  • Puppeteer

The published paper notes interoperability "has yet to be adequately addressed by any existing interface" — the void the open execution layer fills, and that an intelligence layer would sit above.

Reference surfaces

  • The Device / Cell paper — DOI 10.1101/2023.07.10.547733 (bioRxiv); Cell S2666-9986(23)00170-9; PMC10369895
  • The Lab Automation Wiki (labautowiki.org)
  • The Pioneer Labs substack · theautomatedlab.com

Clean-room & attribution ledger

Every source this map draws on, its public origin and license type, and exactly how Aquifer treats it. This ledger is the discipline behind the four promises — it is what makes the page defensible: we show only what each license permits, and we say where each thing came from.

SourceLicense / typeHow Aquifer treats it
PyLabRobot code + docs + CookbookMITMap the structure freely, with attribution + link-back; verify each file's license before lifting any code.
Device / Cell paperJournal (Cell Press)Cite by DOI; do not redistribute full text.
labautomation.io · discuss.pylabrobot.org postsUser-authored forum postsParaphrase + attribute by username + link; never republish post bodies.
Pioneer Labs substackAuthored blogCite + link; quote minimally with attribution.
Standardization projects (SiLA, LabOp, …)VariousReference by name + link only.
Lab Automation Wiki (labautowiki.org)Community wikiReference by name + link only; never republish entries.

Honest limits of this map

  • Forum depth is sampled, not exhaustive — the wishlist, protocol-library, and save-format threads are the load-bearing ones; the full board has more low-signal posts not individually mapped.
  • The protocol-sequence facet is genuinely thin — flagged, not padded. There is demand and a nascent Cookbook, not a rich public corpus; any claim of "a protocol corpus" today would be inflation.
  • Exact current backend counts and the live dependents graph would benefit from a follow-up authenticated pass; facts here are corroborated across the paper, the docs index, and forum cross-references.