Skip to content

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

License

Notifications You must be signed in to change notification settings

News-Teller/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.

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 install 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
# Build
npm run build:all
# 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

License

Licensed under the BSD 2-Clause License.
Original work by Jovanni Hernandez is also licensed under BSD 2-Clause License.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 60.4%
  • Python 39.6%