labgrid

Started and Co-Maintained by Pengutronix

In development, testing and bootstrapping of embedded systems, reproducible setups, automation and efficient distributed development workflows are fundamental to quality and speed.

With labgrid, Pengutronix has developed an open-source solution that meets exactly these requirements: a Python library for controlling embedded hardware, developed and maintained continuously together with an active community.

What is labgrid?

Python library

Abstraction of the devices and interfaces needed for interacting with embedded systems. From switchable power supply and Linux shell access to camera control or sensor data monitoring.

Remote control layer

Boards connected to different host machines (exporters) can be managed centrally (coordinator) and controlled from remote development or test machines (clients) via the command line or scripting.

Pytest integration

labgrid is not a new test framework itself, but complements (as a plugin) the established Python test framework pytest and thus allows hardware-related tests to be written and run with the means of modern software testing.

The central idea behind labgrid is a uniform abstraction layer for hardware control: it enables automated software installations, test procedures and development workflows without getting lost in device-specific details.

Remote architecture

An exporter provides the hardware connected to it as a resource, the coordinator manages access to it centrally, and clients access the resources grouped in this way via the command line or scripting.

What does Pengutronix offer around labgrid?

Pengutronix lab infrastructure

Pengutronix integrates customer hardware into its own distributed remote lab infrastructure.

This is how we ensure collaborative and efficient development, debugging and testing.

Test integration

As part of our maintenance concept, we offer to set up a labgrid-based test suite for the customer board. It can be integrated into our CI to ensure operating system functionality.

At the same time, it can be used by customers and extended for application-level tests.

Support & Development

From support for new hardware to the implementation of new protocols or features.

Professional support for all questions around using labgrid.

Supporting labgrid

Sponsoring packages

labgrid is and remains fully open source. New features often emerge from customer projects or from the community. Ongoing maintenance and upkeep, on the other hand, is harder to fund. With a sponsoring package you support exactly this work.

Sponsoring package