{"id":19258792,"url":"https://github.com/eiso/go-engine","last_synced_at":"2025-04-21T16:30:36.503Z","repository":{"id":93871560,"uuid":"121285739","full_name":"eiso/go-engine","owner":"eiso","description":"This library is a learning project that implements the source{d} engine in Go using Gleam","archived":false,"fork":false,"pushed_at":"2018-03-08T08:40:15.000Z","size":36681,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T14:21:04.761Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/eiso.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":"2018-02-12T18:35:06.000Z","updated_at":"2023-05-25T10:05:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"36474a06-ee46-4c9f-8227-b7ffb98cfe0e","html_url":"https://github.com/eiso/go-engine","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/eiso%2Fgo-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiso%2Fgo-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiso%2Fgo-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiso%2Fgo-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eiso","download_url":"https://codeload.github.com/eiso/go-engine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250090624,"owners_count":21373220,"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-09T19:14:23.504Z","updated_at":"2025-04-21T16:30:35.281Z","avatar_url":"https://github.com/eiso.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"go-engine\n-------------------\n\n**WARNING: This library is a WIP and is not production ready.**\n\nThis library is currently a learning project that implements the [source{d} engine](https://github.com/src-d/engine) in Go using [Gleam](https://github.com/chrislusf/gleam/) (Go implementation of MapReduce). \n\nThe heavy lifting of working with Git repositories is done by [go-git](https://github.com/src-d/go-git).\n\n### To-do\n- [ ] Split remotes properly in the repositories reader; for siva into seperate repos\n- [ ] Implement the [queries from QuerySetApp](https://github.com/mcarmonaa/QuerySetApp/blob/master/src/main/scala/tech/sourced/queryset/SourcedQueries.scala#L26)\n- [ ] Generalize the filter function\n- [ ] Improve the siva reading to turn rooted repositories into individual ones\n- [ ] Add a Babelfish deployment to k8s\n- [ ] UDF's:\n  - [x] `readBlob` read the content of a blob based on its hash\n  - [x] `classifyLanguage` implements [enry](https://github.com/src-d/enry) to classify the programming language of the blobs content \n  - [ ] `extractUAST` parses a blob using [Babelfish](https://doc.bblf.sh/)  \n\n### Future ideas:\n\n- [ ] Research how to add named columns to Gleam\n- [ ] Update gleam to use both inner \u0026 outer IP's so that binaries can be sent to agents from any IP\n- [ ] Research on adding bitmap reader to go-git:\n  - https://kscherer.github.io/git/2015/05/15/git-and-bitmaps\n  - https://githubengineering.com/counting-objects/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feiso%2Fgo-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feiso%2Fgo-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feiso%2Fgo-engine/lists"}