Skip to content

Jupyter Lab Plugin for scheduling recurring execution of files within the UI using Cron

Notifications You must be signed in to change notification settings

x0152/jupyterlab_scheduler

 
 

Repository files navigation

jupyterlab_scheduler

A simple plugin for scheduling files for recurring execution using the cron utility within the Jupyter Lab UI. Use cases

Security Note: Cron jobs are executed under the permission set of the JupyerLab process; if you start jupyter as root (not recommended!) every job that is scheduled via the UI will also run as root.

Screenshots

Scheduling a job

Context Menu

Schedule Job

Viewing Scheduled Jobs

Menu

Scheduled Jobs

Viewing Run Logs

View Logs

Prerequisites

  • JupyterLab
  • Cron installed on the JupyterLab host

Installation

To install using pip:

pip insatll jupyterlab_scheduler

jupyter labextension install jupyterlab_scheduler

Development

For a development install (requires npm version 4 or later), do the following in the repository directory:

# Clone the repo to your local environment
# Move to jupyterlab_scheduler directory
# Install dependencies
npm install
# Install your development version of the extension
jupyter labextension install .

You run JupyterLab in watch mode to watch for changes in the extension's source and automatically rebuild.

# Run jupyterlab in watch mode
jupyter lab --watch

Now every change will be built locally and bundled into JupyterLab. Be sure to refresh your browser page after saving file changes to reload the extension (note: you'll need to wait for webpack to finish, which can take 10s+ at times).

# Run jupyterlab in auto reload mode
jupyter lab  --autoreload --NotebookApp.token='' --NotebookApp.password='' --no-browser

Works better when developing server extensions

Publishing

To build the plugin for disitibution on Pypi:

python3 setup.py sdist bdist_wheel

python3 -m twine upload --repository pypi dist/*

Uninstall

jupyter labextension uninstall jupyterlab_scheduler

About

Jupyter Lab Plugin for scheduling recurring execution of files within the UI using Cron

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 60.0%
  • Python 40.0%