Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
jumpstarter-dev/jumpstarter: Hardware testing for the software world. Real or virtual, local or remote, human, automated or agentic.

jumpstarter-dev/jumpstarter: Hardware testing for the software world. Real or virtual, local or remote, human, automated or agentic.

12 hours ago

!bolt Jumpstarter

Matrix</a> Etherpad</a> Community Meeting</a> !GitHub Release !PyPI - Version Ask DeepWiki</a>

Jumpstarter is a free and open source test automation framework. It bridges the gap between embedded development workflows and deployment environments, enabling consistent automated testing across real hardware and virtual environments with CI/CD integration. Every interface is programmatic, so human developers, test scripts, CI pipelines, and AI agents interact with devices through the same APIs.

Highlights

  • 🧪 Unified Testing - One tool for physical and virtual devices under test
  • 🔌 Hardware Abstraction - Control UART, CAN, SPI, GPIO, power, and USB through drivers
  • 🐍 Python-Powered - Integrate with PyTest and Python's testing ecosystem
  • 🌐 Collaborative - Share and securely lease test hardware across teams
  • ⚙️ Automation Ready - Same APIs for humans, test scripts, CI pipelines, and AI agents
  • 💻 Cross-Platform - Supports Linux and macOS

Repository Structure

This monorepo contains all Jumpstarter components:

| Directory | Description | |-----------|-------------| | python/ | Python client, CLI, drivers, and testing framework | | controller/ | Kubernetes controller and operator (Jumpstarter Service) | | protocol/ | gRPC protocol definitions (protobuf) | | e2e/ | End-to-end testing infrastructure |

Quick Start

Install the CLI

pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-cli

Or install all Python components:

pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-all

Upgrade the CLI

jmp self update

Deploy the Service

To install the Jumpstarter Service in your Kubernetes cluster, see the Service Installation documentation.

Components

Python Client & Drivers (python/)

The Python implementation provides:

  • jmp CLI tool for interacting with hardware
  • Client libraries for test automation
  • Hardware drivers for various devices
  • Testing framework integration
See python/README.md for details.

Jumpstarter Service (controller/)

The Kubernetes-native service that provides:

  • Centralized hardware management
  • Client and exporter routing
  • Authentication and authorization
  • Multi-tenant support
Prerequisites: See controller/README.md for deployment instructions.

Protocol (protocol/)

The gRPC-based communication layer that enables:

  • Unified interface for virtual and physical hardware
  • Secure communication over HTTPS
  • Tunneling support for Unix sockets, TCP, and UDP
  • Flexible topology with direct or routed connections
See protocol/README.md for details.

End-to-End Tests (e2e/)

Comprehensive testing infrastructure for the entire Jumpstarter stack.

See the Makefile for available targets.

Development

Prerequisites

Building

# Build all components
make build

Build specific components

make build-python # Python packages make build-controller # Controller binary make build-protocol # Generate protocol code

Run tests

make test

Run end-to-end tests

make e2e-setup # First time only make e2e # Run tests make e2e-clean # Clean up

Documentation

Jumpstarter's documentation is available at jumpstarter.dev.

Contributing

Jumpstarter welcomes contributors of all levels of experience! See the contributing guide to get started.

Community

License

Jumpstarter is licensed under the Apache 2.0 License (LICENSE or https://www.apache.org/licenses/LICENSE-2.0).

Chat with me