PyconFr

Strasbourg, 26-29 Octobre

PyConFR 2013 - Strasbourg du 26 au 29 octobre 2013

dimanche 14:30:00–15:00:00

Depsolver, une librairie pour la gestion de dépendences

David Cournapeau

Audience level:
Intermediate

Description

Les outils "easy_install/pip" sont devenus populaires en partie grâce à l'incorporation d'un système de dépendances. Depsolver est une librairie conçue pour résoudre les problèmes de dépendance plus complexes que pip et easy_install ne peuvent pas résoudre. La librairie est pure python, et conçue pour être réutilisable par de futures systèmes d'installations (python ou autre).

Abstract

La présentation sera organisée comme suivant:

Introduction

Justification pour un système de dépendance: limitations du système utilisé par pip, différence entre déploiement d'applications et distributions.

Simple démo de depsolver sur des problèmes mal gérés par pip.

Etat de l'art

Cette section commencera par revoir les systèmes basés sur une représentation type 'graph', et expliquer brièvement l'origine de leur complexité ("apt-get/yum").

Ensuite, j'expliquerai comment les systèmes plus modernes (libzypp, php composer) utilisent un "solver SAT" pour résoudre les dépendances: gestion homogène des conflits, replacements et obsolescence, gestion homogène des dépendances à l'exécution, compilation et test.

depsolver

Section principale décrivant l'API, basée sur des exemples concrets:

  • description haut niveau de l'API: résoudre un problème de dépendance simple

  • flexibilité du format de version: PEP 440, format Debian

  • gestion des conflits, et concept de "policy" pour différents usages.

Conclusion

La présentation se terminera sur ce qui reste à faire et les possibilités d'intégration avec pip/setuptools.

Sponsors