{"id":17030360,"url":"https://github.com/vsoch/results-watcher","last_synced_at":"2026-02-14T10:33:50.981Z","repository":{"id":141667957,"uuid":"185673657","full_name":"vsoch/results-watcher","owner":"vsoch","description":"an example watchme watcher that grabs variables from the environment, and saves to git as a database","archived":false,"fork":false,"pushed_at":"2019-05-10T06:35:49.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-10T10:35:03.250Z","etag":null,"topics":["git-database","watchme"],"latest_commit_sha":null,"homepage":"https://vsoch.github.io/watchme/watchers/results/#1-the-from-env-task","language":null,"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/vsoch.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":"2019-05-08T20:17:24.000Z","updated_at":"2019-05-10T06:35:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"25f616c9-675e-4d16-bc6e-e9df736fbd12","html_url":"https://github.com/vsoch/results-watcher","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"33c8c82aca9080c319e4c08913c67ef5cd2fb458"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vsoch/results-watcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fresults-watcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fresults-watcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fresults-watcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fresults-watcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vsoch","download_url":"https://codeload.github.com/vsoch/results-watcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Fresults-watcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29442754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T10:17:46.583Z","status":"ssl_error","status_checked_at":"2026-02-14T10:17:22.534Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["git-database","watchme"],"created_at":"2024-10-14T08:06:30.258Z","updated_at":"2026-02-14T10:33:50.967Z","avatar_url":"https://github.com/vsoch.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Results Watcher\n\nThis is an example watcher that is optimized to record results. For example, \nlet's say that we are running jobs on an HPC resource. \nEach job would finish with a result value (string, or json equivalent)\nand then export variables to the environment, and call \nwatchme to record the result for some task:\n\n```bash\nexport WATCHMEENV_density=0.48\nexport WATCHMEENV_weight=33\nwatchme run results-watcher task-hpc-job\n```\n\nAnd then you see the results as they are here - the variables are written to\nfiles with equivalent names:\n\n```bash\n$ tree\n.\n├── README.md\n├── task-hpc-job\n│   ├── density\n│   ├── TIMESTAMP\n│   └── weight\n└── watchme.cfg\n\n1 directory, 5 files\n```\n\nThis means that you can use a single timepoint (multiple files for one commit)\nas an entry, possibly adding a `WATCHMEENV_ID` to give the timepoint an id, OR\nyou can have a single file represent a single metric changing over time.\nWhen time is ready for export, it's done via .git with a simple command:\n\n```bash\n$ watchme export results-watcher task-hpc-job density\ngit log --all --oneline --pretty=tformat:\"%H\" --grep \"ADD results\" 384d7bdc6e54af6266377b30ff0d47a40c4fc28d..8126a6241ebcfbbdef41fe501199388b8e513575 -- task-hpc-job/density\n{\n    \"commits\": [\n        \"8126a6241ebcfbbdef41fe501199388b8e513575\",\n        \"732dee443caa19f0e50ec1e9b89ca3a542459cc7\",\n        \"c0861ed8ebe473cc3efa1db5f84e10d05d61bbc8\"\n    ],\n    \"dates\": [\n        \"2019-05-10 02:34:25 -0400\",\n        \"2019-05-08 15:16:14 -0400\",\n        \"2019-05-08 15:11:32 -0400\"\n    ],\n    \"content\": [\n        \"0.48\",\n        \"0.55\",\n        \"0.45\"\n    ]\n}\n```\n\nAnd that's it! Watchme handles commits, so all you would need to do (as I've\njust done) is create the repository on GitHub, and then push. For more \ndetails about watchme and the results tasks, see [the docs](https://vsoch.github.io/watchme/watchers/results/#1-the-from-env-task).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsoch%2Fresults-watcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvsoch%2Fresults-watcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsoch%2Fresults-watcher/lists"}