tox
est, à l'origine, un outil qui lance les tests d'une application ou d'une bibliothèque au sein de virtualenvs isolés. Ceci rend possible l'exécution des tests pour plusieurs version de Python, ou plusieurs versions de votre framework de développement favori, ou d'une combinaison de tout ceci.
Mais tox est amour, alors il sait faire bien plus encore.
Est-ce que mon application est compatible Python 2 ? Python 3 ?
Est-ce que mon app Django est compatible Django 1.7 ? 1.8 ? master ?
Est-ce que ma lib est compatible avec Postgresql ? MySQL ? SQLite ?
Est-ce qu'il est possible de vérifier tous ces cas, et une combinaison de tous ces cas ? (par exemple, une app Django compatible 1.7 / avec une base Postgresql en Python 3). Ou toutes les combinaisons possibles ?
C'est ce que tox
sait faire. Mais il sait faire bien plus. Et il vous aime. Il nous aime. Les programmeurs de tox
nous aiment.
Il n'est pas rare que le Pythoniste feignant se dise tout haut "ah ça serait bien si c'était possible avec tox". Et là, un des contributeurs de tox remonte le temps dans sa machine et implémente la fonctionnalité. De retour dans le présent, le Pythoniste découvre la fonctionnalité présente dans la doc et s'écrie "Mais c'est trop bien !".
Dans cette conférence, nous aurons un aperçu des potentialités de tox
, comment le mettre en place très simplement pour votre projet et de découvrir, émerveillé, comment un outil bien fait travaille à votre place.