Petit guide pratique pour construire et tester des paquets wheel pour toutes les plateformes classique en utilisant des systèmes d'intégration continue gratuits tels que Travis CI (Linux et OSX) et AppVeyor (Windows).
Les wheels sont un nouveau format standard (PEP 427) de distribution de package Python pour remplacer les eggs. Ils sont supportés par pip >= 1.4 et setuptools >= 0.8. Le format wheel est officiellement recommandé pour la distribution de projets Python sur PyPI.
Le format wheel permet d’accélérer l'installation de paquets Python sur toutes les plateformes. Les projets utilisant des extensions compilées sont packagés avec des wheel dédiée à une plateforme donnée (par exemple Windows 32 bit) ce qui permet de les installer sans compilateur.
En tant que release manager pour le projet scikit-learn j'ai mis en place une infrastructure d'intégration continue qui génère et teste des paquets wheel pour les plateformes Windows, OSX et Linux. Cette infrastructure permet de supporter les versions récentes de Python (2.6+ et 3.3+) sur des architecture 32 bit et 64 bit.
Le but de cette présentation est de partager cette expérience et les outils que j'ai développer pour automatiser le fonctionnement de cette infrastructure.
Cette présentation sera un version actualisée de la présentation que j'ai donnée à PyCon 2015: https://www.youtube.com/watch?v=d-p6lJJObLU