The python testing infrastructure¶
The python testing infrastructure is a Continuous Integration tool able to test python distributions availabe at PyPI against a set of tests, providing a set of metrics.
Why ? The python package index doesn’t currently checks the uploaded distributions against anything and thus anyone can upload what he wants, without having any kind of control.
PyTI does’nt try to enforce quality on PyPI, but aims to provide a global overview of the health of python distributions available there.
The tests range from installation (is everything installable smoothly? does it install files in weird looking places?) to the detection of harmful/malicious behaviours. It is also possible to run test suites and run quality checking tools such as PEP8 or PyLint.
Actually, the possibilities are not limited and we tried to make something easy to extend and to use.
PyTI is split into different sub-project: goatlib, the task manager, which handles task scheduling, goatlog which handle execution reporting, and pythia which handles the virtual machines management.