{"id":15373144,"url":"https://github.com/otiai10/uge_cooker","last_synced_at":"2025-04-04T12:44:18.944Z","repository":{"id":146498471,"uuid":"89657130","full_name":"otiai10/uge_cooker","owner":"otiai10","description":"Univa Grid Engine Recipe Cooker","archived":false,"fork":false,"pushed_at":"2017-08-28T02:36:42.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T22:41:16.585Z","etag":null,"topics":["bioinformatics","gridengine","hpc"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/otiai10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-04-28T01:57:58.000Z","updated_at":"2018-12-25T15:01:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"b140caf0-d9ea-4f25-8c49-7586e402bc57","html_url":"https://github.com/otiai10/uge_cooker","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otiai10%2Fuge_cooker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otiai10%2Fuge_cooker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otiai10%2Fuge_cooker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otiai10%2Fuge_cooker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/otiai10","download_url":"https://codeload.github.com/otiai10/uge_cooker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182338,"owners_count":20897379,"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":["bioinformatics","gridengine","hpc"],"created_at":"2024-10-01T13:54:23.773Z","updated_at":"2025-04-04T12:44:18.917Z","avatar_url":"https://github.com/otiai10.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# uge_cooker\n\nUniva Grid Engine Recipe Cooker\n\n# Why?\n\n- bad to handle envs and options in script files\n\t- good to separate operations and project-specific things\n- bad to execute duplicate commands to follow logs\n\t- good to just hit the same command for each project to follow logs\n- bad to specify job names only to deal `-hold_jid`\n\t- good to autommatically generate `-hold_jid`\n\n# Installation\n\n```sh\n$ pip install git+https://github.com/otiai10/uge_cooker.git\n$ which uge_cooker\n```\n\n```sh\n# Try it first!!\n$ git clone https://github.com/otiai10/uge_cooker.git\n$ cd uge_cooker/example_project\n$ uge_cooker -r recipe.json\n```\n\n# Example\n\n```json\n{\n  \"jobs\": [\n    {\n      \"name\": \"hello_01\",\n      \"script\": \"./hello_01.sh\",\n      \"options\": {}\n    },\n    {\n      \"name\": \"hello_02\",\n      \"script\": \"./hello_02.sh\",\n      \"options\": {\n        \"-hold_jid\": \"$$PREVIOUS_JOB_ID\"\n      }\n    }\n  ]\n}\n```\n\nthen\n\n```sh\n$ uge_cooker --recipe your_recipe.json\n```\n\n# Basic Usage\n\n```sh\nuge_cooker -r recipe.json -E env.json\n```\n\n# Tail mode\n\nto follow tails of logs in current directory (where recipe.json is placed)\n\n```sh\nuge_cooker -t .\n```\n\n# Options\n\n| option | value | description |\n|:-------:|:-------:|:-----------:|\n| -t,--tail | **required, if provided** | Execute `tail -f logs/**/*/*` to follow logs,\u003cbr\u003ewould abort any options else |\n| -r,--recipe | **required, if provided** | Recipe json file path, which specifies operation details,\u003cbr\u003e must be `.json` |\n| -E,--env    | optional default ` ` | Specify env json file path, which specifies env vars,\u003cbr\u003e must be `.json` if provided |\n| -v,--verbose | optional, no value | Turn on verbose logs of what commands are exactly executed |\n| -S,--slack | optional | Comma separated usernames of you Slack team (1) |\n\n1. To use `--slack` option, you need export 2 env vars `COOKER_SLACK_TOKEN` and `COOKER_SLACK_CHANNEL` to your environment, on which you execute `uge_cooker` command.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotiai10%2Fuge_cooker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotiai10%2Fuge_cooker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotiai10%2Fuge_cooker/lists"}