Notifications for Earth Engine tasks.
Project description
taskee is a command-line tool for monitoring Google Earth Engine tasks that can send notifications to your phone or computer to let you know when your tasks finish.
Features
- 🔍 Monitor Google Earth Engine tasks created with the Python API and/or the Javascript Code Editor
- 💻 Native notifications for Linux, Mac, and Windows
- :speech_balloon: Mobile push notifications for Android
- :tv: Built-in CLI dashboard
Setup
pip install taskee
Run the setup steps below as needed.
Earth Engine (required)
Set up a Google Earth Engine account. If you haven't authenticated Earth Engine before, you'll be asked to do so the first time you runtaskee.
Pushbullet (optional)
If you want to receive mobile notifications (Android only), you'll need to create or connect an account with Pushbullet and download the app on your device(s). Once Pushbullet is installed and you're logged in, go to your Account Settings, create an Access Token, and copy the API key. The first time you runtaskee with a pushbullet notifier, you'll need to enter your API key. That key will be stored locally so you don't have to enter it again.
notify-send (Linux only)
Linux users may need to installnotify-send to enable native notifications. If taskee is not working with the native notifier, run sudo apt install libnotify-bin.
Usage
taskee offers a few different commands which you can see by running taskee --help.
Usage: taskee [OPTIONS] COMMAND [ARGS]...
Monitor Earth Engine tasks and send notifications when they change states.
Examples
$ taskee test
$ taskee tasks
$ taskee log
$ taskee dashboard failed completed -n pushbullet -i 0.5
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
dashboard Show a live-updating dashboard.
log Log task events as they occur.
tasks Display a table of current Earth Engine tasks.
test Send test notifications.
Running taskee
The taskee dashboard and taskee log commands initialize and run the notification system. They will continue running until you cancel them, periodically checking your Earth Engine tasks and sending you notifications.
Choosing a Mode
There are two modes that taskee can run in: dashboard and log.
dashboard shows a live-updating dashboard that makes it easy to visually keep track of your tasks and events.
taskee dashboard
log is designed to be run in the background and prints minimal logs as events occur.
taskee log
Filtering Events
There are a lot of possible events that can happen to Earth Engine tasks. The list below describes the events recognized by taskee.
| Event | Description |
|---|---|
| created | :seedling: A new task is submitted. |
| started | :herb: A task starts processing. |
| attempted | :fallen_leaf: An attempt fails and the task is restarted. |
| completed | :evergreen_tree: A task finished successfully. |
| failed | :fire: A task fails to complete. |
| cancelled | :axe: The user cancels the task. |
| error | :exclamation: taskee crashes. |
By default, taskee will notify you of errors and completed or failed tasks, but you can specify which events to watch for by listing them when you launch taskee. For example:
taskee dashboard failed attempted cancelled error
You can also use all as a shortcut and taskee will notify you of all events.
taskee dashboard all
Selecting Notifiers
By default, taskee will use the native notification system built into your computer's operating system.
If you want notifications on other devices, set up Pushbullet and then select it with the -n --notifier option.
taskee dashboard --notifier pushbullet
Like with events, you can use all as a shortcut and taskee will send both native and pushbullet notifications.
taskee dashboard -n all
Other Options
You can set how often tasks are re-checked (in minutes) using the -i --interval_mins option.
taskee dashboard -i 10
Warning
taskeedoesn't set a minimum interval, but if updates occur too frequently you may run into rate limits for Earth Engine or Pushbullet.
Service Credentials
By default, taskee uses the persistent credentials stored on your local machine (whichever account you authenticated last). To use a service account instead, pass the relative path to your private key file using the -k --private-key option.
taskee dashboard -k path/to/private-key.json
Example
Using what we learned above, let's set up taskee to start running in log mode, check for cancelled or completed task events, send us notifications using pushbullet, and update every 30 minutes.
taskee log cancelled completed -n pushbullet -i 30
Other Commands
Aside from running the notification system, taskee has a few more commands that may be helpful.
Task Summaries
The tasks command checks your Earth Engine tasks once, giving you a snapshot of your current tasks in a nice, readable table.
taskee tasks
Test Notifications
The test command sends a mock notification to any notifiers selected with the -n --notifier option. You can use this to make sure notifications are set up and working.
taskee test -n native
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taskee-0.1.0.tar.gz.
File metadata
- Download URL: taskee-0.1.0.tar.gz
- Upload date:
- Size: 92.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2642fb9def0fb17866c76ace647b7e8537ada812c7a343e93fb7d8d87d732f5c
|
|
| MD5 |
8524453da40a09c7240e4e1559ea2c6c
|
|
| BLAKE2b-256 |
e6a4163724e2982189647ac8560367cdfa831ae5c59407d6157a35e669eff551
|
Provenance
The following attestation bundles were made for taskee-0.1.0.tar.gz:
Publisher:
publish.yaml on aazuspan/taskee
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
taskee-0.1.0.tar.gz -
Subject digest:
2642fb9def0fb17866c76ace647b7e8537ada812c7a343e93fb7d8d87d732f5c - Sigstore transparency entry: 1809863533
- Sigstore integration time:
-
Permalink:
aazuspan/taskee@f548a16566269d644fdae38ee0f19e0cad9940f5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/aazuspan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f548a16566269d644fdae38ee0f19e0cad9940f5 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file taskee-0.1.0-py3-none-any.whl.
File metadata
- Download URL: taskee-0.1.0-py3-none-any.whl
- Upload date:
- Size: 98.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
974d6709c671ba3d080166ecae2b94ed274cd965c527465f71bef2b84f79e797
|
|
| MD5 |
8583243999863f3d5457eb9a8f830be9
|
|
| BLAKE2b-256 |
2d17ca2706dc36b851a84d570468ac893c7581f95f8f1b944d698289b2ba4db6
|
Provenance
The following attestation bundles were made for taskee-0.1.0-py3-none-any.whl:
Publisher:
publish.yaml on aazuspan/taskee
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
taskee-0.1.0-py3-none-any.whl -
Subject digest:
974d6709c671ba3d080166ecae2b94ed274cd965c527465f71bef2b84f79e797 - Sigstore transparency entry: 1809863555
- Sigstore integration time:
-
Permalink:
aazuspan/taskee@f548a16566269d644fdae38ee0f19e0cad9940f5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/aazuspan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f548a16566269d644fdae38ee0f19e0cad9940f5 -
Trigger Event:
workflow_dispatch
-
Statement type: