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
File details
Details for the file jupyterlab_scheduler-0.1.5.tar.gz
.
File metadata
- Download URL: jupyterlab_scheduler-0.1.5.tar.gz
- Upload date:
- Size: 914.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a6c5e8a3f4315eb9d6e713fb1f577a8ce2c7e092bd1d45b2448018f51f22f53 |
|
MD5 | ab092735ecd815cbb0870fc60c7fcce5 |
|
BLAKE2b-256 | 85d4cacd3750fc4e97b5d5cc19f8d416ed37bcbed83fa03e98958a29f65eb3a2 |
File details
Details for the file jupyterlab_scheduler-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: jupyterlab_scheduler-0.1.5-py3-none-any.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 608bf6ecedcf3b2302f498fce94a8b99f2c66d66d63569872ad9df91a44e501a |
|
MD5 | fdded3940e4e21680eb3494d5b060633 |
|
BLAKE2b-256 | 81d9e9928d4b269c5a87873a94de69689e42bfa2dd6d6f33b1b1e67c6663e769 |