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:
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
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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61d8bf86c3fc8d689c4af054c943529a6fc534ea950d4b1dd9fdb3e8b6155826 |
|
MD5 | 415e138850e92826396fbe4fb723532a |
|
BLAKE2b-256 | 3532fcdf2ba8f1da7def7002a6de49bdf636318c43cf98ef79f19f51d3575a1d |
Hashes for jupyterlab_scheduler-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 852b6e02ac083d99b2c004ff4e227624144c902c4518c0e7ad49eefd56e98a30 |
|
MD5 | 7f5c0ccc8398606ad389df2c54fd6c68 |
|
BLAKE2b-256 | 8fe6c203a66909b170ac5e39b0f31274553efbefb34f1af66fc5a9da8d6e1c51 |