Introducing the Connector-Factory: a python template for kickstarting device integration with UniteLabs CDK

At UniteLabs, we’re building the operating system for lab automation from the ground up! We take a foundational approach, starting with the instruments themselves and working our way up the stack. This bottom-up philosophy drives our focus on developing robust connectors (or as some call them, drivers :upside_down_face:) for lab equipment.

We believe device integration is a critical cornerstone of effective lab automation, which is why we’re excited to share our development tools with the wider community. Our Connector Development Kit (CDK) is fully SiLA 2 compliant, ensuring all connectors are cloud-ready and auto-discoverable on local networks.

We’re excited to unveil the latest update to our connector-factory cookiecutter template, designed to streamline the connector development experience for our engineering community.

This significant update introduces a wealth of developer-friendly improvements:

  • :package: Flexible Package Management - Now supporting uv and hatch alongside poetry, giving developers freedom to choose their preferred tooling.
  • :snake: Dynamic Python Version Support - Automatically configures projects to work with your available Python version while ensuring compatibility with the latest releases through expanded test matrices.
  • :toolbox: Enhanced Code Quality Tools - Comprehensive ruff linting and formatting configurations to maintain consistent, high-quality codebases.
  • :magnifying_glass_tilted_left: Streamlined Development Workflow - optional pre-commit hooks to prevent common issues including accidental secrets exposure.
  • :laptop: Improved IDE Integration - Refined VSCode settings and debugging configurations that make connector development more intuitive

As a companion to this template update, we’ve also released CDK v0.3.2 featuring a powerful new connector sync command, which allows you to effortlessly update existing projects to incorporate the latest template improvements using cruft.

Note: This feature requires projects to have been either created with cruft or linked to cruft via cruft link for cookiecutter-created projects. See our Gitlab for more information about linking your project.

Just getting started? Check out our updated Connector Development Tutorial to jump into creating your own connectors.

If you want to stay up to date on our CDK development or are looking for support, join the SiLA Slack community where we are helping people get started in the #sila_python_unitelabs channel.

Happy Coding! :technologist: :rocket: :sparkles:

10 Likes

A good example for one of our connectors is our Tecan FluentControl connector, although we intend to go way deeper with liquid handlers. Stay tuned for low-level access to more platforms, apart from the Microlab STAR, coming this year :wink:
Let us know which instrument is causing you the most trouble in terms of access and integration!?