A LIMS is the spine of a laboratory. It tracks samples from reception to publication, holds the workflow your analysts follow, records every result, and produces the certificates your customers or regulators see. Choosing one is a ten-to-fifteen-year decision.
SENAITE is one of the answers to that decision. It is free, open source, and runs in production at labs across water utilities, mining, food and beverage, clinical diagnostics, agriculture, and industrial QC. We are its core developers and maintainers.
What SENAITE actually is
SENAITE is a Laboratory Information Management System built on Plone and Zope, two enterprise content frameworks that have run production systems for two decades. You get a battle-tested security model, a real workflow engine, role-based access control, and a full audit trail out of the box. The laboratory domain sits on top of that.
What that looks like day to day:
- Sample management. Register samples with their analysis services. Track every state from reception to publication.
- Worksheets. Group analyses into worksheets with reference samples, duplicates, and blanks. The QC structure is part of the system, not a spreadsheet on the side.
- Result entry and verification. Manual entry or instrument import. Multi-level verification keeps data integrity intact.
- Instrument interfaces. Serial, file-based, ASTM, HL7 v2 over
MLLP. We wrote the
senaite.astmtransport. - Calculations. Formulas across interim fields, dependent analyses, and custom Python expressions.
- Reporting. Certificates of analysis as PDF, with templates you can brand.
- Client portal. Your customers log in to their own samples and reports, no email round-trip.
- Audit trail. Every action recorded. Who, what, when, from where.
Who uses SENAITE
Single-site labs and multi-site networks. Specifically:
- Water and environmental. Municipal utilities, environmental monitoring agencies, wastewater treatment plants.
- Mining and metals. Exploration labs, processing plants, QC.
- Food and beverage. QA and regulatory-compliance testing.
- Clinical and veterinary. Hospital labs, diagnostic centres, veterinary labs.
- Agriculture. Soil analysis, fertilizer testing, crop research.
- Industrial QC. Manufacturing, materials testing, R&D.
The pattern: regulated environments where the audit trail matters, the workflow is real, and the cost per user under a proprietary LIMS would add up quickly.
Is it really free
Yes. The software is released under a GPL-compatible open-source license. You can download, install, modify, and operate it without paying a license fee. What you pay for is the work around it: setup, customisation, training, instrument integration, hosting, support. Most of that you can do yourself if you have the in-house capability. Most labs do not, which is why we exist.
There is no per-user pricing, no per-sample pricing, no upsell to unlock features that already exist in the code.
Why open source matters for a LIMS
A LIMS holds operational data you do not want to lose, behind a workflow your team has spent years calibrating. Three properties become non-negotiable over a ten-year horizon:
- You can read the code. Auditors can review what runs in your network. Your IT team can verify that nothing phones home. You can answer regulator questions with specifics.
- You can change the code. Custom calculations, special instrument protocols, edge-case workflows. None of them require waiting for a vendor roadmap.
- You cannot be locked in. Your data is yours, on a schema you can inspect. If you ever want to move on, nothing stops you.
How it compares to commercial LIMS
Short answer: cheaper to acquire, more flexible to customise, less polished in places where polish costs money rather than thought. Long answer: we wrote it up here.
What it is built on
- Python. The language of science. Wide ecosystem, plenty of scientific libraries, easy to extend.
- Plone / Zope. Enterprise content management with workflow, security, and roles baked in.
- JSON API. RESTful API for integrations, dashboards, and QA layers like SENAITY.
- Docker. Containerised deployment so installs are repeatable.
- Buildout. Declarative configuration so one command rebuilds your exact environment.
How to try it
Pull the public Docker image and run it locally. Five minutes:
docker pull senaite/senaite:2.x
docker run --rm -p 8080:8080 senaite/senaite:2.x
Open http://localhost:8080 and you have a working SENAITE. For a
guided walk-through with demo data and a first sample, see
Run SENAITE in less than 5 minutes.
What we do around it
We are the core developers. We also run SENAITE Care (managed monitoring, maintenance, and support), SENAITY (an ML-based QA layer that catches bad results before they get verified), 3-day workshops, and custom development for anything that needs to be written specifically for your lab.
If SENAITE looks like it could fit, start a conversation. We will reply with the next step. Usually the workshop, sometimes a paid discovery first.