{"id":19016046,"url":"https://github.com/jhuntwork/runsteps","last_synced_at":"2026-06-25T05:31:23.399Z","repository":{"id":57463251,"uuid":"84240485","full_name":"jhuntwork/runsteps","owner":"jhuntwork","description":"A controlled sequential command runner","archived":false,"fork":false,"pushed_at":"2019-04-26T17:33:34.000Z","size":18,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-01T23:11:28.435Z","etag":null,"topics":[],"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/jhuntwork.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-07T19:58:48.000Z","updated_at":"2019-04-23T22:56:53.000Z","dependencies_parsed_at":"2022-09-17T08:30:42.896Z","dependency_job_id":null,"html_url":"https://github.com/jhuntwork/runsteps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhuntwork%2Frunsteps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhuntwork%2Frunsteps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhuntwork%2Frunsteps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhuntwork%2Frunsteps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhuntwork","download_url":"https://codeload.github.com/jhuntwork/runsteps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240059403,"owners_count":19741647,"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":[],"created_at":"2024-11-08T19:40:40.935Z","updated_at":"2026-04-26T12:30:19.593Z","avatar_url":"https://github.com/jhuntwork.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"runsteps\n========\n\nA controlled sequential command runner.\n\nWhat does that mean? Given a series of commands, perhaps a directory of\nshell scripts, and a mechanism for specfying the order of those\ncommands, runsteps will execute them and monitor them for state and\nfailure.\n\nMore specifically, runsteps collects running times, output and return codes of\neach executed step and controls the environment variables of the step. A\nmechanism for any step to 'save' key value pairs for use as environment\nvariables in following steps is also provided. This allows the steps to 'share'\nsmall bits of data between themselves as the entire run progresses.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhuntwork%2Frunsteps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhuntwork%2Frunsteps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhuntwork%2Frunsteps/lists"}