← Back to Projects

Distributed P2P Pytest Runner
A lightweight, distributed, peer-to-peer, test runner for Python projects.
It exposes an HTTP API to submit projects (from GitHub or as a ZIP), distributes test execution (pytest) across a peer-to-peer network of nodes, aggregates results, and serves evaluation status, stats, and network info.
It has fault tolerance and load balancing capabilities, and is designed to be run on multiple machines.
This project was developed as part of the Distributed Systems course at the University of Aveiro.
Features
- P2P task distribution with simple gossip-based peer discovery
- Network and stats endpoints for observability
- Load balancing and fault tolerance
- Aggregated metrics
Tech Used
- Python
- Docker