{"id":19882912,"url":"https://github.com/thiagomajesk/gluttony","last_synced_at":"2025-08-21T18:20:45.087Z","repository":{"id":44414410,"uuid":"469403375","full_name":"thiagomajesk/gluttony","owner":"thiagomajesk","description":"Compliant elixir RSS 2.0 and Atom 1.0 parser","archived":false,"fork":false,"pushed_at":"2024-08-01T12:16:29.000Z","size":1682,"stargazers_count":7,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-30T16:55:40.343Z","etag":null,"topics":["elixir","feeds","rss"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thiagomajesk.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-13T14:56:33.000Z","updated_at":"2024-09-25T07:31:39.000Z","dependencies_parsed_at":"2024-07-30T03:41:27.474Z","dependency_job_id":null,"html_url":"https://github.com/thiagomajesk/gluttony","commit_stats":{"total_commits":53,"total_committers":3,"mean_commits":"17.666666666666668","dds":"0.037735849056603765","last_synced_commit":"62b6ff79efa663a59316a2eab8070741bfc3c4dc"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagomajesk%2Fgluttony","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagomajesk%2Fgluttony/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagomajesk%2Fgluttony/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagomajesk%2Fgluttony/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thiagomajesk","download_url":"https://codeload.github.com/thiagomajesk/gluttony/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224315598,"owners_count":17291073,"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":["elixir","feeds","rss"],"created_at":"2024-11-12T17:18:54.331Z","updated_at":"2024-11-12T17:18:55.301Z","avatar_url":"https://github.com/thiagomajesk.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gluttony\n\nCompliant elixir RSS 2.0 and Atom 1.0 parser.\nIngests and parses RSS feeds and returns raw data that can be enriched by unfurling URLs.\n\n## Installation\n\nAdd `gluttony` to the list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:gluttony, \"~\u003e 0.2.0\"}\n  ]\nend\n```\n## Documentation\n\nDocumentation can be found at \u003chttps://hexdocs.pm/gluttony\u003e.\n\n## Benchmarks\n\nThanks to [`Saxy`](https://github.com/qcam/saxy), Gluttony is probably one of the fastest libraries to parse RSS feeds out there. That is, libraries that use pure Elixir of course (without low level NIFs). You can run the benchmark project or see previous results in the `/bench` folder.\n\n\u003e ⚠️ Notice that I'm currently using WSL2 to run the benchmarks, so the results may actually be more optimistic without the virtualization layer. I'm also currently only yielding half of the available resources from my machine to the VM.\n\nThe data I'm using to run the benchmarks is similar to what [`fast_rss`](https://github.com/avencera/fast_rss) (another RSS feed library that uses Rust for speed) is also using, so take a look on their benchmarks for some intersting comparissons.\n\n### Metrics\n\nIn the worst cases, Gluttony was more memory efficient than the current slowest alternative by using `0.0246 GB` compared to [`feedraptor's`](https://github.com/merongivian/feedraptor) surprising `8.22 GB`. Not only this, but in some cases finishing parsing the whole RSS feed `424.26x` faster than the current worst alternative.\n\n## TODOs\n\n- Better document the available options\n- Add typespecs to the common result interface (`Feed` / `Entry`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiagomajesk%2Fgluttony","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthiagomajesk%2Fgluttony","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiagomajesk%2Fgluttony/lists"}