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
Metadata
Release files for jupyterlab-scheduler 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyterlab_scheduler-0.1.5.tar.gz | 914.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyterlab_scheduler-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / jupyterlab_scheduler-0.1.5.tar.gz
| Download URL | jupyterlab_scheduler-0.1.5.tar.gz |
|---|---|
| Size | 914.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a6c5e8a3f4315eb9d6e713fb1f577a8ce2c7e092bd1d45b2448018f51f22f53
|
|
BLAKE2b-256 checksum How to use checksums |
85d4cacd3750fc4e97b5d5cc19f8d416ed37bcbed83fa03e98958a29f65eb3a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / jupyterlab_scheduler-0.1.5-py3-none-any.whl
| Download URL | jupyterlab_scheduler-0.1.5-py3-none-any.whl |
|---|---|
| Size | 1.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
608bf6ecedcf3b2302f498fce94a8b99f2c66d66d63569872ad9df91a44e501a
|
|
BLAKE2b-256 checksum How to use checksums |
81d9e9928d4b269c5a87873a94de69689e42bfa2dd6d6f33b1b1e67c6663e769
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|