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.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3da81ee4a97149fa9e2ec6d17c1ccc42be7ad59051615a1556bddb68b8ef4725 |
|
MD5 | 5ef88e35d463f15108f5bd9f58265a0f |
|
BLAKE2b-256 | 917963acc97d0fd915085d1408d234a9122e6f71c30dba63c4b04a0509e2e789 |
Hashes for jupyterlab_scheduler-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 846cae5d8669ecb6dd3750789e76a24ee871156f7d3397bb28812c2db50c97ca |
|
MD5 | 11f050ca92ddee34e2c2f40447681176 |
|
BLAKE2b-256 | db300ad1febe5bd0861f777e3c7a67ffb5290effa70bcd260ce972283ad5d5cd |