CRON scheduler for Jupyter Lab
Project description
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
Viewing Scheduled Jobs
Viewing Run 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
# 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 & compile JS on change
npm run watch & 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 & compile JS on change
npm run watch & jupyter lab --autoreload --NotebookApp.token='' --NotebookApp.password='' --no-browser
Works better when developing server extensions
Note: Make sure to close any old npm run watch jobs that may be running in the background.
Publishing
Update version number in:
- package.json
- jupyterlab_scheduler/_version.py
Update JavaScript files:
npm install
Build the server-side portion of 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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for jupyterlab_scheduler-0.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a6c5e8a3f4315eb9d6e713fb1f577a8ce2c7e092bd1d45b2448018f51f22f53 |
|
MD5 | ab092735ecd815cbb0870fc60c7fcce5 |
|
BLAKE2b-256 | 85d4cacd3750fc4e97b5d5cc19f8d416ed37bcbed83fa03e98958a29f65eb3a2 |
Hashes for jupyterlab_scheduler-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 608bf6ecedcf3b2302f498fce94a8b99f2c66d66d63569872ad9df91a44e501a |
|
MD5 | fdded3940e4e21680eb3494d5b060633 |
|
BLAKE2b-256 | 81d9e9928d4b269c5a87873a94de69689e42bfa2dd6d6f33b1b1e67c6663e769 |