https://github.com/everypinio/hardpy
HardPy is a python library for creating a test bench for devices.
https://github.com/everypinio/hardpy
dut embedded pytest python testing testing-tools
Last synced: 2 months ago
JSON representation
HardPy is a python library for creating a test bench for devices.
- Host: GitHub
- URL: https://github.com/everypinio/hardpy
- Owner: everypinio
- License: gpl-3.0
- Created: 2024-03-13T11:00:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-03-25T07:02:50.000Z (3 months ago)
- Last Synced: 2026-03-25T08:51:18.070Z (3 months ago)
- Topics: dut, embedded, pytest, python, testing, testing-tools
- Language: Python
- Homepage: https://everypinio.github.io/hardpy/
- Size: 46.3 MB
- Stars: 57
- Watchers: 2
- Forks: 10
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
HardPy is a python library for creating a test bench for devices.
[](https://pypi.org/project/hardpy/)

[](https://docs.pytest.org/en/latest/)
[](https://everypinio.github.io/hardpy/)
[](https://www.reddit.com/r/HardPy)
[](https://discord.gg/98bWadmG8J)
[](https://t.me/everypin)
---
## Overview
HardPy allows you to:
* Create test benches for devices using [pytest](https://docs.pytest.org/);
* Use a browser to view, start, stop, and interact with tests;
* Store test results in the [CouchDB](https://couchdb.apache.org/) database or to simple JSON files;
* Store test results on the [StandCloud](https://standcloud.everypin.io/) analytics platform.
## To Install
```bash
pip install hardpy
```
## Getting Started
### With CouchDB
1. Create your first test bench.
```bash
hardpy init
```
2. Launch [CouchDB](https://couchdb.apache.org/) database via [docker compose](https://docs.docker.com/compose/)
in the background.
```bash
cd tests
docker compose up -d
```
3. Launch HardPy operator panel.
```bash
hardpy run
```
4. View operator panel in browser: http://localhost:8000/
5. View the latest test report: http://localhost:5984/_utils
Login and password: **dev**, database - **runstore**.
### Without a database
1. Create your first test bench.
```bash
hardpy init --no-create-database --storage-type json
```
2. Launch HardPy operator panel.
```bash
hardpy run
```
3. View operator panel in browser: http://localhost:8000/
## Examples
For more examples of using **HardPy**, see the [examples](https://github.com/everypinio/hardpy/tree/main/examples) folder and the [documentation](https://everypinio.github.io/hardpy/examples/).
## Measurement instruments
**HardPy** does not contain any drivers for interacting with measuring equipment.
However, **HardPy** allows you to work with any Python code, meaning you can use
open libraries to interact with measuring equipment.
* [InstrumentKit](https://github.com/instrumentkit/InstrumentKit)
* [Instrumental](https://github.com/mabuchilab/Instrumental)
* [PyMeasure](https://github.com/pymeasure/pymeasure)
* [PyTango](https://gitlab.com/tango-controls/pytango)
* [QCoDeS](https://github.com/microsoft/Qcodes)
* [QCoDeS contrib drivers](https://github.com/QCoDeS/Qcodes_contrib_drivers)
* [Labgrid](https://github.com/labgrid-project/labgrid)