{"id":17233681,"url":"https://github.com/j7mbo/helios","last_synced_at":"2025-04-14T01:54:08.378Z","repository":{"id":38005201,"uuid":"504903659","full_name":"J7mbo/helios","owner":"J7mbo","description":"Helios is a GUI automation tool written in Go.","archived":false,"fork":false,"pushed_at":"2025-03-25T14:59:19.000Z","size":32541,"stargazers_count":9,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T01:54:02.210Z","etag":null,"topics":["golang","gui","sikuli"],"latest_commit_sha":null,"homepage":"","language":"Go","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/J7mbo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-06-18T17:07:49.000Z","updated_at":"2025-03-25T14:59:22.000Z","dependencies_parsed_at":"2024-06-21T01:25:46.915Z","dependency_job_id":null,"html_url":"https://github.com/J7mbo/helios","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"324a292f158995e1571f42d828e2756f8da8e320"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/J7mbo%2Fhelios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/J7mbo%2Fhelios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/J7mbo%2Fhelios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/J7mbo%2Fhelios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/J7mbo","download_url":"https://codeload.github.com/J7mbo/helios/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248809032,"owners_count":21164895,"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":["golang","gui","sikuli"],"created_at":"2024-10-15T05:25:51.055Z","updated_at":"2025-04-14T01:54:08.365Z","avatar_url":"https://github.com/J7mbo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Helios\n--\n\n[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.md)\n\nHelios is a GUI automation tool written in Go - it automates anything that you can see on your screen. Helios uses \nimage recognition powered by OpenCV under-the-hood. You can use Helios to automate GUI testing, video games and more.\n\nExample:\n\n```go\npackage main\n\nimport (\n\t. \"github.com/j7mbo/helios\"\n\t\"time\"\n)\n\nfunc main() {\n    // Initialise helios without any configuration\n    app := NewApplication(nil)\n    // Load .gopher.png and expect to find it at 0.9 / 1.0 confidence\n    gopherImage, _ := NewImage(\"./gopher.png\", 0.9)\n    // Find the gopher image on-screen\n    gopher := app.GetScreen().Find(gopherImage)\n    // Highlight it for two seconds\n    gopher.Highlight(2 * time.Second)\n    // Click at a random (X,Y) coordinate within the matched box\n    gopher.Click()\n}\n```\n\nThe Gopher from Goland, highlighted for 2 seconds:\n\n![Found Gopher](./docs/found_gopher.png)\n\nInstallation\n---\n\n### MacOS\n\n```\nbrew install pkg-config\nbrew install opencv\n```\n\nDocs\n---\n\n**Those using a mac with a retina display**\n\nWhen you take a screenshot of something you want to search for on MacOS, like the gopher icon, (use command, control, \nshift, 4), you need to adjust the image size (if you're using a retina display). To do this, open the image in preview, \ngo to Tools \u003e Adjust Size and then choose 200 per cent for the width and height. Then save. Your image should now be \nfindable.\n\n\nUpcoming work\n---\n\n- [x] Ability to define `Region`s to search\n- [x] Abstraction for `finder`\n- [x] Works with any resolution\n- [x] Wait X seconds for an image to appear\n- [x] Offsets for regions \n- [ ] Stable supported api\n- [ ] Support and releases for Windows, Linux (MacOS already supported)\n- [ ] Moving highlight box during highlighting\n- [ ] Support for multiple screens\n- [ ] Fix for issue #1 - no need to embed a highlighter binary\n- [ ] Embedding OpenCV directly, 0 dependency binary (need help with this)\n- [ ] API for interfacing with other languages \n- [ ] OCR, text extraction\n- [ ] GUI for region and image selection, scripting language (this'll be a fun one)\n- [ ] Tests...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj7mbo%2Fhelios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj7mbo%2Fhelios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj7mbo%2Fhelios/lists"}