Beitragen#

Vielen Dank, dass Sie sich Gedanken über Möglichkeiten zur Verbesserung dieser Bibliothek machen! Denken Sie daran, dass Beiträge über das Beheben von Fehlern hinausgehen und vielfältig sein können. Beiträge zur Dokumentation, das Eröffnen neuer Issues für Fehler, das Nachfragen nach Klärung von Unklarheiten und das Anfordern neuer Funktionen sind alles sehr wertvolle Beiträge.

Code-Verbesserungen#

Die gesamte Entwicklung für diese Bibliothek findet auf GitHub hier statt. Wir empfehlen die Arbeit mit einer Conda-Umgebung (oder einer alternativen virtuellen Umgebung wie venv).

Die folgenden Anweisungen verwenden Mamba, eine sehr schnelle Implementierung von conda.

git clone <your fork>
cd ipympl
mamba env create --file dev-environment.yml
conda activate ipympl-dev
pre-commit install

Installieren Sie das Python-Paket

pip install -e .

Wenn Sie Ihre Erweiterungen entwickeln, müssen Sie Ihre Erweiterungen manuell für das Notebook / Lab-Frontend aktivieren. Für Lab geschieht dies mit dem Befehl

jupyter labextension develop --overwrite .
jlpm build

Für klassische Notebooks müssen Sie ausführen

jupyter nbextension install --py --symlink --sys-prefix --overwrite ipympl
jupyter nbextension enable --py --sys-prefix ipympl

So sehen Sie Ihre Änderungen#

Typescript:

Wenn Sie JupyterLab zur Entwicklung verwenden, können Sie das Quellverzeichnis überwachen und gleichzeitig in verschiedenen Terminals JupyterLab ausführen, um Änderungen im Quellcode der Erweiterung zu beobachten und das Widget automatisch neu zu erstellen.

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm watch
# Run JupyterLab in another terminal
jupyter lab

Warten Sie nach einer Änderung, bis der Build abgeschlossen ist, und aktualisieren Sie dann Ihren Browser. Die Änderungen sollten wirksam werden.

Python

Wenn Sie eine Änderung am Python-Code vornehmen, müssen Sie den Notebook-Kernel neu starten, damit sie wirksam wird.

Dokumentation#

Unsere Dokumentation wird mit Sphinx aus den Notebooks im Ordner docs erstellt. Sie enthält sowohl Markdown-Dateien als auch Jupyter-Notebooks.

Beispiele werden am besten als Jupyter-Notebooks geschrieben. Um ein neues Beispiel zu schreiben, erstellen Sie ein Notebook im Verzeichnis docs/examples und listen Sie dessen Pfad unter einem der toctrees in der Datei index.ipynb auf. Wenn die Dokumentation generiert wird, wird sie von myst-nb als statische HTML-Seiten gerendert.

Wenn Sie alle Entwicklungsabhängigkeiten installiert haben (siehe oben), können Sie die Dokumentation mit dem folgenden make-Befehl neu erstellen, der aus dem Ordner docs ausgeführt wird.

make html

Dann können Sie die Datei _build/index.html in Ihrem Browser öffnen. Sie sollten nun die gerenderte Dokumentation sehen können.

Alternativ können Sie sphinx-autobuild verwenden, um Quellcodedateien kontinuierlich auf Änderungen zu überwachen und die Dokumentation für Sie neu zu erstellen. Sphinx-autobuild wird automatisch in der zuvor erstellten Entwicklungsumgebung installiert, sodass Sie nur Folgendes ausführen müssen:

make watch

aus dem Ordner docs

In wenigen Sekunden sollte sich Ihr Webbrowser öffnen und die Dokumentation anzeigen. Wenn Sie nun eine Datei speichern, wird die Dokumentation automatisch neu generiert und die Webseite für Sie aktualisiert!

Arbeiten mit Git#

Die Verwendung von Git/GitHub kann verwirrend sein (https://xkcd.com/1597). Wenn Sie also neu bei Git sind, kann es hilfreich sein, ein Programm wie GitHub Desktop zu verwenden und einer Anleitung zu folgen.

Zögern Sie nicht, auf dem entsprechenden GitHub Issue um Hilfe/Rat zu bitten.

Hilfe beim Beitragen erhalten#

Fragen Sie gerne auf jedem GitHub Issue, wie Sie beitragen können. Kürzere Fragen können Sie auch im Gitter-Chatraum stellen.