{"id":13781190,"url":"https://github.com/aazuspan/taskee","last_synced_at":"2025-04-10T05:05:36.866Z","repository":{"id":43407494,"uuid":"449164169","full_name":"aazuspan/taskee","owner":"aazuspan","description":"Mobile and native notifications for Earth Engine tasks","archived":false,"fork":false,"pushed_at":"2024-01-25T00:19:04.000Z","size":1778,"stargazers_count":10,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-06-11T17:39:00.913Z","etag":null,"topics":["android","cli","gee","google-earth-engine","linux","macos","notifications","pushbullet","rich","task-manager","tasks","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aazuspan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-18T06:17:04.000Z","updated_at":"2024-06-12T18:15:52.764Z","dependencies_parsed_at":"2023-12-30T07:42:32.380Z","dependency_job_id":"b7dd6879-c25f-4a39-97a1-51670fc69ea0","html_url":"https://github.com/aazuspan/taskee","commit_stats":{"total_commits":96,"total_committers":1,"mean_commits":96.0,"dds":0.0,"last_synced_commit":"8ef825254b51356dd8745502c2ea18c727eb238a"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aazuspan%2Ftaskee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aazuspan%2Ftaskee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aazuspan%2Ftaskee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aazuspan%2Ftaskee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aazuspan","download_url":"https://codeload.github.com/aazuspan/taskee/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161281,"owners_count":21057555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cli","gee","google-earth-engine","linux","macos","notifications","pushbullet","rich","task-manager","tasks","windows"],"created_at":"2024-08-03T18:01:23.770Z","updated_at":"2025-04-10T05:05:36.839Z","avatar_url":"https://github.com/aazuspan.png","language":"Python","funding_links":[],"categories":["Python API"],"sub_categories":["Packages"],"readme":"\u003cimg src=\"assets/logo.png\" alt=\"taskee logo\" style=\"width:180px;\"/\u003e\n\n[![Earth Engine Python](https://img.shields.io/badge/Earth%20Engine%20API-Python-green)](https://developers.google.com/earth-engine/tutorials/community/intro-to-python-api)\n[![PyPI version](https://badge.fury.io/py/taskee.svg)](https://badge.fury.io/py/taskee)\n[![CI](https://github.com/aazuspan/taskee/actions/workflows/ci.yaml/badge.svg)](https://github.com/aazuspan/taskee/actions/workflows/ci.yaml)\n\n`taskee` is a command-line tool for monitoring [Google Earth Engine](https://developers.google.com/earth-engine) tasks that can send notifications to your phone or computer to let you know when your tasks finish.\n\n![](assets/dashboard.gif)\n\n# Features\n\n- 🔍 Monitor [Google Earth Engine](https://developers.google.com/earth-engine) tasks created with the Python API and/or the Javascript Code Editor\n- 💻 Native notifications for Linux, Mac, and Windows\n- :speech_balloon: Mobile push notifications for Android\n- :tv: Built-in CLI dashboard\n\n# Setup\n\n```bash\npip install taskee\n```\n\nRun the setup steps below as needed.  \n\u003c/br\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eEarth Engine\u003c/b\u003e (required)\u003c/summary\u003e\n  Set up a \u003ca href=\"https://developers.google.com/earth-engine\"\u003eGoogle Earth Engine\u003c/a\u003e account. If you haven't authenticated Earth Engine before, you'll be asked to do so the first time you run \u003ccode\u003etaskee\u003c/code\u003e.\n  \n\u003c/details\u003e\u003c/br\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003ePushbullet\u003c/b\u003e (optional)\u003c/summary\u003e\n  If you want to receive mobile notifications (Android only), you'll need to create or connect an account with \u003ca href=\"https://pushbullet.com\"\u003ePushbullet\u003c/a\u003e, download the app on your device(s), and install the \u003ca href=\"https://github.com/rbrcsk/pushbullet.py\"\u003ePushbullet Python API\u003c/a\u003e using \u003ccode\u003epip install pushbullet.py\u003c/code\u003e.\n  Once Pushbullet is installed and you're logged in, go to your \u003ca href=\"https://www.pushbullet.com/#settings\"\u003eAccount Settings\u003c/a\u003e, create an Access Token, and copy the API key. The first time you run \u003ccode\u003etaskee\u003c/code\u003e with a \u003ccode\u003epushbullet\u003c/code\u003e notifier, you'll need to enter your API key. That key will be stored locally so you don't have to enter it again.\n\u003c/details\u003e\u003c/br\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003enotify-send\u003c/b\u003e (Linux only)\u003c/summary\u003e\n  Linux users may need to install \u003ccode\u003enotify-send\u003c/code\u003e to enable \u003ccode\u003enative\u003c/code\u003e notifications. If \u003ccode\u003etaskee\u003c/code\u003e is not working with the \u003ccode\u003enative\u003c/code\u003e notifier, run \u003ccode\u003esudo apt install libnotify-bin\u003c/code\u003e.\n\u003c/details\u003e\n\u003c/br\u003e\n\n\n# Usage\n\n`taskee` offers a few different commands which you can see by running `taskee --help`.\n\n```bash\nUsage: taskee [OPTIONS] COMMAND [ARGS]...\n\n  Monitor Earth Engine tasks and send notifications when they change states.\n\n  Examples\n      $ taskee test\n      $ taskee tasks\n      $ taskee start log\n      $ taskee start dashboard failed completed -n pushbullet -i 0.5\n\nOptions:\n  --version  Show the version and exit.\n  --help     Show this message and exit.\n\nCommands:\n  start  Start running the notification system.\n  tasks  Display a table of current Earth Engine tasks.\n  test   Send test notifications.\n```\n\n## Starting taskee\n\nThe `taskee start` command initializes and runs the notification system. It will continue running until you cancel it, periodically checking your Earth Engine tasks and sending you notifications.\n\n`taskee start` requires one argument: `mode`.\n\n### Choosing a Mode\n\nThere are two modes that `taskee start` can run in: `dashboard` and `log`.\n\n`dashboard` shows a live-updating dashboard that makes it easy to visually keep track of your tasks and events.\n\n```bash\ntaskee start dashboard\n```\n\n![A dashboard showing live-updating tasks and events](assets/dashboard.gif)\n\n`log` is designed to be run in the background and prints minimal logs as events occur.\n\n```bash\ntaskee start log\n```\n\n![A terminal showing logs of new events.](assets/log.gif)\n\n### Filtering Events\n\nThere are a lot of possible events that can happen to Earth Engine tasks. The list below describes the events recognized by `taskee`.\n\n| Event | Description |\n| ----: | :----- |\n| *created* | :seedling: A new task is submitted. |\n| *started* | :herb: A task starts processing. |\n| *attempted* | :fallen_leaf: An attempt fails and the task is restarted. |\n| *completed* | :evergreen_tree: A task finished successfully. |\n| *failed* | :fire: A task fails to complete. |\n| *cancelled* | :axe: The user cancels the task. |\n| *error* | :exclamation: `taskee` crashes. |\n\nBy 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:\n\n```bash\ntaskee start dashboard failed attempted cancelled error\n```\n\nYou can also use `all` as a shortcut and `taskee` will notify you of all events.\n\n```bash\ntaskee start dashboard all\n```\n\n### Selecting Notifiers\n\nBy default, `taskee` will use the `native` notification system built into your computer's operating system. \n\n![](assets/notification_native_windows.gif)\n\n\nIf you want notifications on other devices, set up Pushbullet and then select it with the `-n --notifier` option.\n\n```bash\ntaskee start dashboard --notifier pushbullet\n```\n\n![](assets/notification_pushbullet.gif)\n\nLike with events, you can use `all` as a shortcut and `taskee` will send both `native` and `pushbullet` notifications.\n\n```bash\ntaskee start dashboard -n all\n```\n\n### Other Options\n\nYou can set how often tasks are re-checked (in minutes) using the `-i --interval_mins` option. \n\n```bash\ntaskee start dashboard -i 10\n```\n\n\u003e **Warning**  \n\u003e `taskee` doesn't set a minimum interval, but if updates occur too frequently you may run into rate limits for Earth Engine or Pushbullet.\n\n### Service Credentials\n\nBy default, `taskee` uses the persistent credentials stored on your local machine (whichever account you authenticated last). To use a [service account](https://developers.google.com/earth-engine/guides/service_account) instead, pass the relative path to your private key file using the `-k --private-key` option.\n\n```bash\ntaskee start dashboard -k path/to/private-key.json\n```\n\n### Example\n\nUsing 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.\n\n```bash\ntaskee start log cancelled completed -n pushbullet -i 30\n```\n\n## Other Commands\n\nAside from running the notification system, `taskee` has a few more commands that may be helpful.\n\n\n### Task Summaries\n\nThe `tasks` command checks your Earth Engine tasks once, giving you a snapshot of your current tasks in a nice, readable table.\n\n```bash\ntaskee tasks\n```\n\n![A table showing details for a list of tasks.](assets/tasks.png)\n\n### Test Notifications\n\nThe `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.\n\n```bash\ntaskee test -n native\n```\n\n![](assets/test.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faazuspan%2Ftaskee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faazuspan%2Ftaskee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faazuspan%2Ftaskee/lists"}