Skip to main content

Automated imaging of microbial plates: Raspberry Pi controller, web UI, and reference assets

Project description

Repository Documentation PyPI Package PyPI Downloads

Automator: automated imaging of microbial plates

Automator is an open-source system for real-time automated imaging, tracking, and analysis of microbial plates, integrating motion control, camera acquisition, and scheduling on Raspberry Pi hardware using Klipper, Moonraker, and a custom Python-based controller and web interface.

This package is the installable distribution of the Automator controller and its reference assets — for the full source repository, contributor guidelines, and changelog, see https://github.com/rotsl/Automator.

Install on a new Raspberry Pi

1. System prerequisites (Raspberry Pi OS lite 64-bit)

sudo apt update
sudo apt install -y \
  python3 python3-venv python3-dev \
  libcamera-dev libcamera-apps v4l-utils \
  libjpeg-dev libpng-dev libatlas-base-dev

2. Create a virtual environment and install the package

python3 -m venv venv_clean
source venv_clean/bin/activate
pip install --upgrade pip
pip install automator-tsl[pi]

The [pi] extra pulls in the Raspberry-Pi-only hardware dependencies (picamera2, RPi.GPIO, gpiozero). Omit it if you're only inspecting the bundled documentation/templates on a non-Pi machine.

3. Fetch the plate-detection model

The YOLO ONNX model used for plate detection is not bundled in this package (to keep it small) — fetch it from Hugging Face after install:

automator-fetch-model

This downloads bestnew.onnx from rotsl/petri_dish_yolo and places it at ~/Automator/data/bestnew.onnx.

Integrity check: the download is verified against a pinned SHA-256 digest before being copied into place. If the file has been tampered with or the upstream model has changed unexpectedly, the command will exit with an error and remove the file automatically.

4. Generate security keys, configure Klipper/Moonraker, and start the controller

Follow the full installation steps in HandOver.md, then start the controller:

python -m dev2.maincontroller

Full documentation

The complete documentation site, including the step-by-step user guide, admin/maintainer handover, and run book, is published at:

https://rotsl.github.io/Automator/

In this package

Alongside the Python code, this package installs a copy of the project's reference assets under share/automator/ in your environment's install prefix:

  • share/automator/data/calibration.json (camera calibration reference)
  • share/automator/raw/ — runtime state directory (created empty on install)

License

This package bundles software (MIT License), hardware design references (CERN Open Hardware Licence v2 - Strongly Reciprocal), and documentation (CC BY 4.0). See LICENSE for the full breakdown by component, and LICENSE-MIT, LICENSE-CERN-OHL-S, LICENSE-CC-BY-4.0 for the individual license texts (all included with this package).

Recommended citation

@software{R_Automator_Automated_Imaging_20252026,
author = {R, Rohan},
title = {{Automator: Automated Imaging of Microbial Plates}},
url = {https://github.com/rotsl/Automator},
year = {2025–2026}
}

Institutional note

This package as part of the main repository represents research automation tooling developed at The Sainsbury Laboratory, Norwich.
It is provided as-is for research and engineering use and is not a certified laboratory instrument unless approved by the institute.

Users are responsible for:

  • validating the system for their experimental context
  • complying with local safety, electrical, and biological regulations
  • ensuring appropriate risk assessments are in place

🦠 Built for reproducible research automation.👨‍🔬

“Make the instrument part of the method.”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

automator_tsl-1.0.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

automator_tsl-1.0.0-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file automator_tsl-1.0.0.tar.gz.

File metadata

  • Download URL: automator_tsl-1.0.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for automator_tsl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2f6d897c2452445de08a01b7479d1d06537d39eb236e28d9066de4a8e4bee7d0
MD5 b2d80ea0d44d2272d8be703c68cb5c63
BLAKE2b-256 269471df251e73d60eb5917b6040ff14ff4288267e0d72d50abb5e470461054d

See more details on using hashes here.

Provenance

The following attestation bundles were made for automator_tsl-1.0.0.tar.gz:

Publisher: release-pypi.yml on rotsl/Automator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file automator_tsl-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: automator_tsl-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for automator_tsl-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1987fc841a6a9e1c5de18899642beb2a500bb3ca80aba89229c948e1f1475b02
MD5 3e21d441113eb87f6dd6a8543b6402e6
BLAKE2b-256 1e6d141f9783d3c6dea887431913ae11520a2459fab5f56cc2620410f5f1c8a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for automator_tsl-1.0.0-py3-none-any.whl:

Publisher: release-pypi.yml on rotsl/Automator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page