Zum Inhalt

NBGitPuller

Was ist nbgitpuller?

NBGitPuller ermöglicht das Teilen und Verteilen von Inhalten aus Git-Repositories (z. B. Jupyter Notebooks) an Studierende über einen Link. Dabei müssen Dateien nicht manuell heruntergeladen oder in JupyterHub hochgeladen werden. Kenntnisse über Git oder andere Versionskontrollsysteme sind nicht erforderlich.

Der Link öffnet den JupyterHub (Anmeldung erforderlich), lädt automatisch die Inhalte des Git-Repositorys herunter und öffnet das gewünschte Notebook oder Verzeichnis.

⚠️ Wichtig: Das Einsammeln von Inhalten der Studierenden erfordert eine alternative Methode, da NBGitPuller Daten nur aus einem Git-Repository abruft („pull“) und nicht hochlädt („push“). Änderungen, die Studierende an den bereitgestellten Notebooks vornehmen, werden nicht automatisch in das Repository zurückgeschrieben. Wenn solche Änderungen gespeichert werden sollen, muss Git direkt verwendet werden. Die Kombination von manuellem Git und NBGitPuller sollte vermieden werden, da dies zu Problemen führen kann.

Weitere Informationen finden sich in der Dokumentation (auf Englisch).

Option A – Link-Generator verwenden

  1. Navigieren zu: NBGitPuller Link-Generator

  2. Füllen Sie folgende Felder aus:

    • JupyterHub base URL: (z. B. https://uni-muenster.jupyterhub.nrw)
    • Git repository URL: (z. B. https://github.com/jakevdp/PythonDataScienceHandbook). Hinweis: .git ollte am Ende der URL entfernt werden, damit die Endung nicht Teil des Ordnernamens wird.
    • Branch: (z. B. main oder master)
    • File to open (optional – Pfad zum .ipynb): (z. B. notebooks/01.00-IPython-Beyond-Normal-Python.ipynb)
  3. Klicken Sie auf „Generate Link“

  4. Fügen Sie den generierten Link z. B. in Learnweb, Moodle oder eine E-Mail ein.

⚠️ Wichtig: Im urlpath des generierten Links sollte tree durch lab/tree ersetzt werden. Dadurch wird das Notebook in der modernen JupyterLab-Oberfläche geöffnet und nicht im klassischen Interface.

Option B – Link manuell erstellen Format:

https://<JupyterHub-URL>/hub/user-redirect/git-pull?
repo=<GitRepoURL>&
branch=<branch-name>&
urlpath=<interface>/<repo-folder>/<notebook>

<interface>: /lab/tree

Beispiel:

https://uni-muenster.jupyterhub.nrw/hub/user-redirect/git-pull?
repo=https://github.com/jakevdp/PythonDataScienceHandbook&
branch=master&
urlpath=lab/tree/notebooks/01.00-IPython-Beyond-Normal-Python.ipynb