Pour accélérer le développement d’applications Python complexes et réduire l’écriture de code courant, Facebook Engineering a créé le framework open source Hydra, proposé sous licence MIT. Celui-ci permet aux développeurs de composer les configurations des applications en mode ligne de commande ou à partir des fichiers de configuration. Selon Facebook, Hydra fournit une approche flexible pour développer et maintenir code et configurations et permet de développer plus rapidement des applications dans le domaine de l’apprentissage machine.
A partir de la ligne de commande, les configurations sont composées de façon dynamique pour disposer de la meilleure pour chaque exécution. Cela permet une expérimentation plus rapide et dispense de la nécessité de maintenir différents fichiers de configuration similaires. Le framework répond ainsi aux problèmes qui se posent lors des modifications de configuration, comme le maintien de copies légèrement différentes d’une configuration ou l’ajout de logique pour forcer les valeurs de configuration. Cette dernière peut être composée et forcée juste avant d’exécuter l’application. Une fonction de complétion dynamique en ligne de commande aide les développeurs à découvrir les configurations complexes et à réduire les erreurs. Parmi les autres bénéfices apportés, le framework doit faciliter l’ajout de fonctionnalités aux projets pour créer de nouveaux cas d’usage sans devoir réécrire d’importantes proportions de code.
Les applications peuvent être lancées localement ou à distance, ce qui permet aux utilisateurs d’exploiter davantage de ressources locales. Les ingénieurs de Facebook utilisent Hydra pour prototyper leurs projets de recherche complexes. Le framework présente une architecture leur permettant de plugger par la suite d’autres fonctionnalités, que celles-ci soient fournies en interne chez Facebook ou qu’elles viennent de la communauté. De prochains plug-ins sont prévus pour permettre le lancement de code depuis Amazon Web Services ou depuis d’autres clouds, à partir de la ligne de commande. Le framework Hydra est téléchargeable sur GitHub.