SciPy-Mitwirkendenhandbuch#
Dieses Handbuch soll Ihnen helfen, die benötigten Informationen zur SciPy-Entwicklung schnell zu finden, nachdem Sie das einführende Material in Möglichkeiten zur Mitwirkung oder im Schnellstartanleitung für Mitwirkende durchgesehen haben.
Sie können auch SciPy Development Workflow ansehen, ein fünfminütiges Videobeispiel, das die Behebung eines Fehlers und das Einreichen eines Pull-Requests zeigt (Hinweis: Dieses Video stammt aus dem Jahr 2018, daher sind die Build-Schritte inzwischen unterschiedlich – der allgemeine Workflow ist jedoch derselbe).
Erstellen aus dem Quellcode – wie Sie eine Entwicklungsumgebung einrichten, einschließlich der Installation von Compilern und SciPy-Abhängigkeiten, des Klonens des SciPy-Repositorys auf GitHub und des Aktualisierens von Git-Submodulen sowie der Verwendung der
dev.py-Schnittstelle zum Erstellen und Ausführen von Tests.SciPy bearbeiten – wie Sie SciPy Python-Code bearbeiten, mit Tipps zum Auffinden des Moduls, das die zu bearbeitende SciPy-Funktionalität enthält, zum Hinzufügen neuer Module zu SciPy und zur Einhaltung der PEP8-Stilstandards.
Tests – wie Sie Unit-Tests für SciPy mit dem pytest-Framework schreiben und ausführen.
Dokumentation – wie Sie reStructuredText-Dokumentation schreiben, die den Docstring-Standards entspricht, Dokumentation lokal mit Sphinx erstellen und Dokumentation anzeigen, die während der kontinuierlichen Integrationsprüfungen erstellt wurde.
Benchmarks – wie Sie Code mit airspeed velocity benchmarken.
Kompilierter Code – wie Sie schnellen, kompilierten Code zu SciPy hinzufügen.
Kontinuierliche Integration – wie unser kontinuierliches Integrationssystem funktioniert und wie Sie Ihren PR debuggen.
SciPy bearbeiten#
Entwicklungs-Workflow beschreibt, was nach der Einrichtung Ihrer Entwicklungsumgebung zu tun ist.
PEP8 und SciPy gibt einige Tipps, um sicherzustellen, dass Ihr Code PEP8-konform ist.
Git für die Entwicklung ist ein Handbuch zur Verwendung von
git, dem verteilten Versionskontrollsystem, das zur Verwaltung der Änderungen am SciPy-Code weltweit verwendet wird.SciPy API enthält einige wichtige Hinweise zur Organisation des SciPy-Codes und dokumentiert die Struktur der SciPy-API; wenn Sie anderen SciPy-Code importieren möchten, lesen Sie dies zuerst.
Pull-Requests überprüfen erklärt, wie Sie den SciPy-Code eines anderen Autors lokal überprüfen.
Probleme und Pull-Requests triagieren und kuratieren erklärt, wie Sie Probleme und PRs kuratieren und wie die GitHub-Team-Berechtigungen für SciPy funktionieren.
Neue Methoden, Funktionen und Klassen hinzufügen enthält Informationen zum Hinzufügen neuer Methoden, Funktionen und Klassen.
SciPy Core Developer Guide enthält Hintergrundinformationen, einschließlich der Entscheidungsfindung und der Vorbereitung einer Veröffentlichung; er richtet sich an Core Developer, enthält aber nützliche Informationen für alle Mitwirkenden.
Code- und Dokumentationsstil-Leitfaden – Die fehlenden Teile – Code- und Dokumentationsstil-Leitfaden.
Tests#
Testrichtlinien ist der maßgebliche Leitfaden zum Schreiben von Unit-Tests für NumPy- oder SciPy-Code (Teil der NumPy-Dokumentation).
Tipps zum Schreiben von Tests enthält Tipps zum Schreiben von Unit-Tests.
SciPy-Tests lokal ausführen dokumentiert
dev.py test, den Befehl zum lokalen Erstellen von SciPy und Ausführen von Tests.
Dokumentation#
Dokumentationsstil enthält alles, was Sie über das Schreiben von Docstrings wissen müssen, die mit Sphinx (Teil der NumPy-Dokumentation) gerendert werden, um HTML-Dokumentation zu erstellen.
Zur SciPy-Dokumentation beitragen enthält Informationen darüber, wie Sie die SciPy-Dokumentation rendern und dazu beitragen können.
Tutorials als Jupyter-Notebooks hinzufügen oder bearbeiten erklärt, wie Sie Seiten im Jupyter-Notebook/MyST-Format zur SciPy-Dokumentation hinzufügen (interaktiv oder nicht).
Benchmarks#
SciPy mit airspeed velocity benchmarken erklärt, wie Sie mit airspeed velocity Benchmarks zu SciPy hinzufügen.
Kompilierter Code#
Cython zu SciPy hinzufügen Das Erweitern und Kompilieren von Python-Code mit Cython kann dessen Leistung erheblich verbessern; dieses Dokument hilft Ihnen beim Einstieg.
Über Python hinaus diskutiert die Verwendung von C-, C++- und Fortran-Code in SciPy.
Öffentliche Cython-APIs zu Richtlinien für die Bereitstellung öffentlicher Cython-APIs.