{"id":18335115,"url":"https://github.com/et1975/fsbunny","last_synced_at":"2025-10-14T18:39:14.946Z","repository":{"id":67626763,"uuid":"90473510","full_name":"et1975/FsBunny","owner":"et1975","description":"F# API for streaming over RabbitMQ ","archived":false,"fork":false,"pushed_at":"2018-10-29T20:12:44.000Z","size":170,"stargazers_count":9,"open_issues_count":1,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-14T20:47:46.309Z","etag":null,"topics":["event-driven","fsharp","rabbitmq"],"latest_commit_sha":null,"homepage":"https://et1975.github.io/FsBunny","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/et1975.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":"2017-05-06T15:45:11.000Z","updated_at":"2022-09-13T01:55:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"6467c827-dfb1-4246-846d-485b7445d31a","html_url":"https://github.com/et1975/FsBunny","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/et1975/FsBunny","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/et1975%2FFsBunny","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/et1975%2FFsBunny/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/et1975%2FFsBunny/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/et1975%2FFsBunny/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/et1975","download_url":"https://codeload.github.com/et1975/FsBunny/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/et1975%2FFsBunny/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020355,"owners_count":26086866,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["event-driven","fsharp","rabbitmq"],"created_at":"2024-11-05T19:53:26.512Z","updated_at":"2025-10-14T18:39:14.930Z","avatar_url":"https://github.com/et1975.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"FsBunny [![Windows Build](https://ci.appveyor.com/api/projects/status/ssw7ttk4fo27jrs3?svg=true)](https://ci.appveyor.com/project/et1975/FsBunny) [![Mono/OSX build](https://travis-ci.org/et1975/FsBunny.svg?branch=master)](https://travis-ci.org/et1975/FsBunny) [![NuGet version](https://badge.fury.io/nu/FsBunny.svg)](https://badge.fury.io/nu/FsBunny)\n=======\n\nFsBunny implements a streaming API over RabbitMQ optimized for implementation of event-driven systems.\n\nThe core idea is that while there are many streams carrying many messages using many serializers, each stream is dedicated to a single type of message serialized using certain serializer. \n\nIt works under the assumptions that:\n\n- We never want to lose a message\n- The exchange + topic tells us the message type (as well as serialization format)\n- The consumer is long-lived and handles only one type of message\n- The consumer decides when to pull the next message of a queue\n- The publishers can be long- or short-lived and address any topic\n- We have multiple serialization formats and may want to add new ones easily\n\nThese assumptions may not be suitable in all scenarios, but they map extremely well to event-driven processing.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fet1975%2Ffsbunny","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fet1975%2Ffsbunny","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fet1975%2Ffsbunny/lists"}