À propos du projet

Black est un formateur Python opinionné maintenu par la Python Software Foundation. Son objectif déclaré est de mettre fin aux débats sur la mise en forme manuelle en appliquant un seul style cohérent : les utilisateurs cèdent le contrôle sur les détails de mise en forme en échange de vitesse, de déterminisme et d'absence de plaintes des outils de vérification de style. Caractéristiques clés décrites dans le README : - Reformate des fichiers entiers sur place, en ignorant la mise en forme précédente (avec des exceptions documentées). - Options de configuration limitées ; les paramètres par défaut sont privilégiés, avec des paramètres de projet lisibles depuis pyproject.toml (par exemple, les motifs d'inclusion/exclusion). - Vise à produire les plus petits diffs possibles, ce que le projet affirme rendre les revues de code plus rapides. - Inclut un contrôle de sécurité qui vérifie que le code reformatté produit toujours un AST valide équivalent à l'original ; l'option --fast saute cette vérification. - Affirme la conformité à PEP 8 et une politique de stabilité régissant les changements de style. Installation et utilisation : - Installer via pip install black ; nécessite Python 3.10 ou supérieur. - La mise en forme des notebooks Jupyter est disponible via l'extension black[jupyter]. - Des exécutables construits avec PyInstaller sont proposés dans les versions GitHub pour les utilisateurs sans installation Python. - Exécuter sous la forme black {fichier_source_ou_répertoire} ou python -m black {fichier_source_ou_répertoire}. Écosystème et adoption : Le README liste de nombreux projets open source qui utilisent Black, notamment pytest, tox, Pyramid, Django, Django Channels, Hypothesis, attrs, SQLAlchemy, Poetry, applications PyPA, pandas, Pillow, Twisted, LocalStack, Home Assistant, Zulip et Kedro. Il mentionne également des organisations telles que Dropbox, Lyft, Mozilla, Quora, Duolingo et Tesla comme utilisateurs. Des témoignages sont cités de développeurs tels que Mike Bayer, Hynek Schlawack, Kenneth Reitz et Carl Meyer. Le projet est sous licence MIT, dispose de la documentation sur ReadTheDocs, maintient un journal des modifications et une liste d'auteurs dans des fichiers séparés, et invite les contributions via sa documentation de contribution et son chat Discord. Il fait également référence au Code de conduite de la communauté Python.