Zum Inhalt

Beitrag ; Beitrag leisten ; Beitrag leisten ; Spenden (dieses Wort hat viele Bedeutungen , die genaue Übersetzung muss durch den Kontext bestimmt werden)

Vielen Dank für Ihr Interesse , zu Starlette beizutragen , Sie können auf verschiedene Weise zum Projekt beitragen :

Fehler oder andere Probleme melden

Haben Sie etwas entdeckt , das Starlette unterstützen sollte ? sind Sie auf ein unerwartetes Verhalten gestoßen ?

Beiträge sollten in der Regel mit einer Diskussion über mögliche Fehler beginnen , die als eine Diskussion über ein " potenzielles Problem " und eine Funktionsanfrage als eine " Idee " - Diskussion präsentiert werden können , in der wir dann entscheiden können , ob die Diskussion zu einem " Problem " eskaliert werden muss oder ob wir eine Pull-Anfrage in Betracht ziehen .

Geben Sie im Falle eines Fehlerberichts so viele Informationen wie möglich an , zum Beispiel :

  • Betriebssystem-Plattform .
  • Python Versionen . Installierte Abhängigkeiten und Versionen von* (python -m pip freeze)
  • Ein Code-Fragment
  • Falsche Spur rückwärts

Sie sollten immer versuchen , jedes Beispiel auf das einfachste mögliche Szenario zu reduzieren , um das Problem zu veranschaulichen .

Entwicklung ; entwicklung

Um mit der Entwicklung von Starlette zu beginnen , erstellen Sie auf GitHub einen Zweig für das Starlette-Repository .

Dann klonen Sie Ihren Zweig mit dem folgenden Befehl und ersetzen Sie YOUR-USERNAME durch Ihren GitHub-Benutzernamen :

$mit clonehttps://github.com/YOUR-USERNAME/starlette

Sie können nun Projekte und deren Abhängigkeiten mit dem folgenden Befehl installieren :

$cd starlette Preis
$scripts/install Zeichen

Testen und Code prüfen

Wir verwenden benutzerdefinierte Shell-Skripte zur Automatisierung von Tests, Codeprüfungen und Dokumentationsworkflows.

Um diese Tests durchzuführen, verwenden Sie bitte:

$Skripte/Prüfungen

Weitere Parameter, die an pytest übergeben werden, finden Sie in der pytest-Dokumentation.

Führen Sie z. B. ein einzelnes Testskript aus:

$scripts/test test test/test_application. py

So führen Sie die automatische Codeformatierung aus:

$Schrift/Lint

Um schließlich Code-Checks separat auszuführen (sie werden auch als Teil von scripts/test ausgeführt), führen Sie Folgendes aus:

$scripts/überprüfen

Dokumentation; Vorbereitung von Dokumenten

Die Dokumentseite befindet sich im Ordner docs/.

Um Ihre Dokumentations-Site lokal auszuführen (nützlich für Vorschauänderungen), verwenden Sie:

$Schrift/Dokumente

Fehlerbehebung bei Build-Fehlern/Continuous Integration

Die Testsuite wird automatisch ausgeführt, sobald Sie eine Pull-Anfrage gesendet haben, und die Ergebnisse werden auf GitHub angezeigt Wenn die Testsuite fehlgeschlagen ist, müssen Sie auf den Link "Details" klicken und versuchen, den Grund für den Fehler der Testsuite herauszufinden.

Fehlerhafter PR Status

Hier sind einige häufige Möglichkeiten, wie eine Testsuite fehlschlagen kann:

Prüfung gescheitert.

GitHub Action Lint Job fehlschlagen

Dieser Arbeitsfehler bedeutet, dass entweder ein Problem mit der Codeformatierung oder ein Problem mit Typkommentaren vorliegt Sie können die Ausgabe Ihrer Aufgabe überprüfen, um herauszufinden, warum sie fehlgeschlagen ist, oder auf der Shell ausführen:

$scripts/überprüfen

Es kann sich lohnen,$ scripts/lint auszuführen, um zu versuchen, Ihren Code automatisch zu formatieren, und wenn der Vorgang erfolgreich ist, die Änderungen zu übermitteln.

Archiv gescheitert

Dieser Fehler bedeutet, dass die Dokumenterstellung aus verschiedenen Gründen fehlschlägt, z. B. wegen eines ungültigen Markdowns oder fehlender Konfiguration in mkdocs.yml.

Python 3.X: Job fehlgeschlagen

Github Action Test Job fehlschlagen

Dieser Arbeitsfehler bedeutet, dass Komponententests fehlgeschlagen sind oder dass nicht alle Codepfade durch Komponententests überschrieben wurden.

Wenn der Test fehlschlägt, wird diese Meldung unter Abdeckungsbericht angezeigt:

=== 1 failed, 435 passed, 1 skipped, 1 xfailed in 11.09s ===

Wenn der Test erfolgreich war, die Abdeckung jedoch unsere aktuellen Schwellenwerte nicht erreicht hat, wird die folgende Meldung unter Abdeckungsbericht angezeigt:

FAIL Required test coverage of 100% not reached. Total coverage: 99.00%

Freigeben; Freigeben; Veröffentlichen

Dieser Abschnitt richtet sich an Starlette-Maintainer.

Erstellen Sie vor der Veröffentlichung der neuen Version eine Pull-Anfrage mit folgendem Inhalt:

  • Ein Update zum Änderungsprotokoll:
    • Wir folgen dem Format des Keepachangelog.
    • wird master Vergleichen Sie die Tags mit der neuesten Version und listen Sie alle Artikel auf, die für unsere Benutzer von Interesse sind:
      • Was im Änderungsprotokoll aufgezeichnet werden muss: Funktionen, die hinzugefügt, geändert, nicht mehr unterstützt oder entfernt werden, und Fehlerbehebungen.
      • Was im Änderungsprotokoll enthalten ist, sollte nicht aufgezeichnet werden: Änderungen an Dokumenten, Tests oder Tools.
      • Versuchen Sie, Einträge in absteigender Reihenfolge nach Auswirkungen/Wichtigkeit zu sortieren.
      • Bleiben Sie einfach und übersichtlich.🎯
  • für eine Versionsverbesserung: siehe __version__.py.

Siehe zum Beispiel #1600.

Sobald die Veröffentlichung von PR (PR) zusammengeführt wurde, erstellen Sie ein neues Publishing, das Folgendes umfasst:

Versionen von* Tags wie 0.13.3. * Titel veröffentlicht Version 0.13.3 * Die Beschreibung wird aus dem Änderungsprotokoll kopiert.

Nach der Erstellung wird diese Version automatisch in PyPI hochgeladen.

Wenn mit einem PyPI-Job Probleme auftreten, können Sie die Version mithilfe des Skripts scripts/publish veröffentlichen.