A collection of batch scripts helping with version controlled Jupyter
notebooks on Windows and associates double-click on .ipynb
files with JupyterLab.
Installs an extension for GIT to commit changes on a notebook
directly from JupyterLab, no command-line interaction necessary.
The scripts are intended to be run by restricted users typically found in corporate computing environments.
- Registers the Jupyter notebook file extension
.ipynb
so that a double-click starts JupyterLab and opens the notebook. - Installs Jupyter extensions for interactive widgets (ipywidgets) in JupyterLab and installs nodeJS which is required for that.
- Installs GIT extension
jupyterlab_git
for JupyterLab. - Adds some TortoiseGit actions to the context menu for easier access (diff, log, rename, delete).
- Updates the Anaconda Python distribution and creates a log file of the process next to the scripts location.
- Does not require admin rights. (Assumes Anaconda is installed in the users home folder.)
- Presents a dialog asking the user for an empty project folder, allows a new folder to be created.
- Initializes GIT in that project folder, using user name and email provided by Windows via Active Directory.
- Sets up GIT with Jupyter notebook filtering (nbstripout) in that folder.
- Adds a copy of the notebook template New Project Notebook.ipynb from config folder.
- Adds configured GIT submodules as well.
- Expects a config file config\local.conf relative to the script location with the following content:
NewProjectOrigin=https://<your GIT server>/%USERNAME%
NewProjectSubMods=https://<your GIT server>/<some subdir>/jupyter_analysis_tools.git
Recursively updates the current GIT repository and all submodules within from remote (server possibly) and checks out the latest master.
Recursively sends the recent commits of the current GIT repository and all submodules within to the remote (server possibly).
- Git for Windows
- optional: TortoiseGit (requires admin rights during install)
- Anaconda Python,
expected in default location for users (
%LOCALAPPDATA%
)
Please see the included LICENSE file. Use at your own risk!
I am very much looking forward to your feedback! Feel free to use the issue tracker for requests or bug reports.