{"id":13444592,"url":"https://github.com/FurqanSoftware/too","last_synced_at":"2025-03-20T19:30:32.478Z","repository":{"id":57502405,"uuid":"20590605","full_name":"FurqanSoftware/too","owner":"FurqanSoftware","description":"Simple recommendation engine implementation built on top of Redis","archived":false,"fork":false,"pushed_at":"2022-11-26T07:33:52.000Z","size":11,"stargazers_count":113,"open_issues_count":3,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-18T12:45:20.456Z","etag":null,"topics":["go","recommendation-engine","redis"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FurqanSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2014-06-07T10:24:12.000Z","updated_at":"2025-02-19T18:42:37.000Z","dependencies_parsed_at":"2023-01-22T01:57:57.425Z","dependency_job_id":null,"html_url":"https://github.com/FurqanSoftware/too","commit_stats":null,"previous_names":["hjr265/too"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FurqanSoftware%2Ftoo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FurqanSoftware%2Ftoo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FurqanSoftware%2Ftoo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FurqanSoftware%2Ftoo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FurqanSoftware","download_url":"https://codeload.github.com/FurqanSoftware/too/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244676454,"owners_count":20491828,"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":["go","recommendation-engine","redis"],"created_at":"2024-07-31T04:00:31.610Z","updated_at":"2025-03-20T19:30:31.959Z","avatar_url":"https://github.com/FurqanSoftware.png","language":"Go","funding_links":[],"categories":["Recommendation Engines"],"sub_categories":["Vector Database"],"readme":"# Too\n\n[![Build Status](https://drone.io/github.com/hjr265/too/status.png)](https://drone.io/github.com/hjr265/too/latest)\n\nToo is a simple recommendation engine built on top of Redis in Go.\n\n## Installation\n\nInstall Too using the go get command:\n\n    $ go get github.com/hjr265/too\n\nThe only dependencies are Go distribution and [Redis](http://redis.io).\n\n## Usage\n\n```go\nte, err := too.New(\"redis://localhost\", \"movies\")\nif err != nil {\n\tlog.Fatal(err)\n}\n\nte.Likes.Add(\"Sonic\", \"The Shawshank Redemption\")\nte.Likes.Add(\"Sonic\", \"The Godfather\")\nte.Likes.Add(\"Sonic\", \"The Dark Knight\")\nte.Likes.Add(\"Sonic\", \"Pulp Fiction\")\n\nte.Likes.Add(\"Mario\", \"The Godfather\")\nte.Likes.Add(\"Mario\", \"The Dark Knight\")\nte.Likes.Add(\"Mario\", \"The Shawshank Redemption\")\nte.Likes.Add(\"Mario\", \"The Prestige\")\nte.Likes.Add(\"Mario\", \"The Matrix\")\n\nte.Likes.Add(\"Peach\", \"The Godfather\")\nte.Likes.Add(\"Peach\", \"Inception\")\nte.Likes.Add(\"Peach\", \"Fight Club\")\nte.Likes.Add(\"Peach\", \"WALL·E\")\nte.Likes.Add(\"Peach\", \"Princess Mononoke\")\n\nte.Likes.Add(\"Luigi\", \"The Prestige\")\nte.Likes.Add(\"Luigi\", \"The Dark Knight\")\n\nitems, _ := te.Suggestions.For(\"Luigi\", 2)\nfor _, item := range items {\n\tfmt.Println(item)\n}\n\n// Output:\n// The Shawshank Redemption\n// The Matrix\n```\n### Batch Operations\n\n``` go\nte, err := too.New(\"redis://localhost\", \"movies\")\nif err != nil {\n\tlog.Fatal(err)\n}\n\nte.Likes.Batch([]too.BatchRaterOp{\n  {\n    User: \"Sonic\",\n    Items: []too.Item{\n      \"The Shawshank Redemption\",\n      \"The Godfather\",\n      \"The Dark Knight\",\n      \"Pulp Fiction\",\n    },\n  },\n  {\n    User: \"Mario\",\n    Items: []too.Item{\n      \"The Godfather\",\n      \"The Dark Knight\",\n      \"The Shawshank Redemption\",\n      \"The Prestige\",\n      \"The Matrix\",\n    },\n  },\n  {\n    User: \"Peach\",\n    Items: []too.Item{\n      \"The Godfather\",\n      \"Inception\",\n      \"Fight Club\",\n      \"WALL·E\",\n      \"Princess Mononoke\",\n    },\n  },\n}, true) // The last command is about auto update the similars and Suggestions table\n```\n\n## Documentation\n\n- [Reference](http://godoc.org/github.com/hjr265/too)\n\n## Contributing\n\nContributions are welcome.\n\n## License\n\nToo is available under the [BSD (3-Clause) License](http://opensource.org/licenses/BSD-3-Clause).\n\n## Inspiration\n\nThis project is inspired by the very existence of the awesome project [Recommendable](http://davidcel.is/recommendable/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFurqanSoftware%2Ftoo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFurqanSoftware%2Ftoo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFurqanSoftware%2Ftoo/lists"}