„Jede Farbe, die du magst.“
Black ist der kompromisslose Python-Codeformatierer. Durch die Nutzung erklären Sie sich damit einverstanden, die Kontrolle über die Einzelheiten der manuellen Formatierung abzugeben. Im Gegenzug bietet Ihnen Black Geschwindigkeit, Determinismus und Freiheit von pycodestyle
Nörgeln über die Formatierung. Sie sparen Zeit und mentale Energie für wichtigere Dinge.
Geschwärzter Code sieht unabhängig vom Projekt, das Sie gerade lesen, gleich aus. Die Formatierung wird nach einer Weile transparent und Sie können sich stattdessen auf den Inhalt konzentrieren.
Black beschleunigt die Codeüberprüfung, indem es die kleinstmöglichen Unterschiede erzeugt.
Probieren Sie es jetzt mit dem Black Playground aus. Sehen Sie sich den Vortrag zur PyCon 2019 an, um mehr zu erfahren.
Lesen Sie die Dokumentation auf ReadTheDocs!
Black kann durch Ausführen von pip install black
installiert werden. Zur Ausführung ist Python 3.9+ erforderlich. Wenn Sie Jupyter-Notebooks formatieren möchten, installieren Sie mit pip install "black[jupyter]"
.
Wenn Sie nicht auf das Neueste warten können und von GitHub installieren möchten, verwenden Sie:
pip install git+https://github.com/psf/black
Um gleich mit sinnvollen Voreinstellungen loszulegen:
black {source_file_or_directory}
Sie können Black als Paket ausführen, wenn die Ausführung als Skript nicht funktioniert:
python -m black {source_file_or_directory}
Weitere Informationen finden Sie in unseren Dokumenten:
Schwarz wird bereits in vielen kleinen und großen Projekten erfolgreich eingesetzt. Black verfügt über eine umfassende Testsuite mit effizienten parallelen Tests sowie unserer eigenen automatischen Formatierung und unserem parallelen Continuous Integration Runner. Nachdem wir nun stabil geworden sind, sollten Sie in Zukunft keine großen Formatierungsänderungen mehr erwarten. Bei den stilistischen Änderungen handelt es sich hauptsächlich um Reaktionen auf Fehlerberichte und um die Unterstützung der neuen Python-Syntax. Weitere Informationen finden Sie unter The Black Code Style.
Als Sicherheitsmaßnahme, die die Verarbeitung verlangsamt, überprüft Black außerdem, ob der neu formatierte Code immer noch einen gültigen AST erzeugt, der effektiv dem Original entspricht (Einzelheiten finden Sie im Abschnitt „Pragmatismus“). Wenn Sie sich sicher fühlen, verwenden Sie --fast
.
Black ist ein PEP 8-konformer eigensinniger Formatierer. Black formatiert ganze Dateien an Ort und Stelle neu. Stilkonfigurationsmöglichkeiten werden bewusst eingeschränkt und selten hinzugefügt. Die vorherige Formatierung wird nicht berücksichtigt (Ausnahmen finden Sie unter Pragmatismus).
Unsere Dokumentation deckt den aktuellen Black- Code-Stil ab, aber auch geplante Änderungen daran werden dokumentiert. Es lohnt sich beide, einen Blick darauf zu werfen:
Änderungen am Black -Code-Stil sind an die Stabilitätsrichtlinie gebunden:
Bitte lesen Sie dieses Dokument, bevor Sie ein Problem einreichen. Was wie ein Fehler aussieht, könnte beabsichtigtes Verhalten sein.
Frühe Versionen von Black waren in mancher Hinsicht absolutistisch. Sie folgten dem ursprünglichen Autor. Das war damals in Ordnung, da es die Implementierung einfacher machte und es ohnehin nicht viele Benutzer gab. Es wurden nicht viele Randfälle gemeldet. Als ausgereiftes Werkzeug macht Schwarz einige Ausnahmen von den Regeln, die es sonst gelten lässt.
Bitte lesen Sie dieses Dokument, bevor Sie ein Problem einreichen, genau wie das Dokument oben. Was wie ein Fehler aussieht, könnte beabsichtigtes Verhalten sein.
Black kann projektspezifische Standardwerte für seine Befehlszeilenoptionen aus einer pyproject.toml
Datei lesen. Dies ist besonders nützlich, um benutzerdefinierte Muster --include
und --exclude
/ --force-exclude
/ --extend-exclude
für Ihr Projekt anzugeben.
Weitere Details finden Sie in unserer Dokumentation:
Und wenn Sie nach einer allgemeineren Konfigurationsdokumentation suchen:
Profi-Tipp : Wenn Sie sich fragen: „Muss ich etwas konfigurieren?“ Die Antwort lautet „Nein“. Bei Schwarz dreht sich alles um vernünftige Standardeinstellungen. Wenn Sie diese Standardeinstellungen anwenden, stimmt Ihr Code mit vielen anderen Projekten im Black -Format überein.
Die folgenden namhaften Open-Source-Projekte vertrauen Black bei der Durchsetzung eines konsistenten Codestils: pytest, tox, Pyramid, Django, Django Channels, Hypothesis, attrs, SQLAlchemy, Poetry, PyPA-Anwendungen (Warehouse, Bandersnatch, Pipenv, virtualenv), Pandas, Pillow , Twisted, LocalStack, jede Datadog Agent-Integration, Home Assistant, Zulip, Kedro, OpenOA, FLORIS, ORBIT, WOMBAT und viele mehr.
Die folgenden Organisationen nutzen Black : Facebook, Dropbox, KeepTruckin, Lyft, Mozilla, Quora, Duolingo, QuantumBlack, Tesla, Archer Aviation.
Vermissen wir jemanden? Lassen Sie es uns wissen.
Mike Bayer , Autor von SQLAlchemy
:
Ich kann mir in meiner gesamten Programmierkarriere kein einziges Tool vorstellen, das mir durch seine Einführung eine größere Produktivitätssteigerung beschert hätte. Ich kann jetzt Refactorings in etwa 1 % der Tastenanschläge durchführen, die ich zuvor dafür benötigt hätte, als wir keine Möglichkeit hatten, dass sich der Code selbst formatieren konnte.
Dusty Phillips , Autor:
Schwarz ist eigensinnig, also musst du das nicht sein.
Hynek Schlawack , Schöpfer von attrs
, Kernentwickler von Twisted und CPython:
Ein automatischer Formatierer, der nicht scheiße ist, ist alles, was ich mir zu Weihnachten wünsche!
Carl Meyer , Django-Kernentwickler:
Zumindest der Name ist gut.
Kenneth Reitz , Ersteller von requests
und pipenv
:
Dies verbessert die Formatierung unseres Codes erheblich. Tausend Dank!
Verwenden Sie das Abzeichen in der README.md Ihres Projekts:
[ ![ Code style: black ] ( https://img.shields.io/badge/code%20style-black-000000.svg )] ( https://github.com/psf/black )
Verwendung des Badges in README.rst:
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
Sieht so aus:
MIT
Willkommen! Ich freue mich, dass Sie bereit sind, das Projekt zu verbessern. Sie können beginnen, indem Sie Folgendes lesen:
Sie können sich auch die restlichen beitragenden Dokumente ansehen oder mit den Entwicklern sprechen:
Das Protokoll ist ziemlich lang geworden. Es wurde in eine eigene Datei verschoben.
Siehe ÄNDERUNGEN.
Die Autorenliste ist heutzutage ziemlich lang und befindet sich daher in einer eigenen Datei.
Siehe AUTHORS.md
Von allen Teilnehmern des Black -Projekts und insbesondere des Issue-Trackers, der Pull-Requests und der Social-Media-Aktivitäten wird erwartet, dass sie andere Menschen mit Respekt behandeln und ganz allgemein die im Verhaltenskodex der Python-Community dargelegten Richtlinien befolgen.
Gleichzeitig wird Humor gefördert. Tatsächlich wird eine grundlegende Vertrautheit mit Monty Pythons Flying Circus erwartet. Wir sind keine Wilden.
Und wenn Sie wirklich jemanden ohrfeigen müssen, tun Sie es beim Tanzen mit einem Fisch.