{"id":27335066,"url":"https://github.com/sloshy/fs2-es","last_synced_at":"2025-10-26T13:06:14.250Z","repository":{"id":35711447,"uuid":"211560349","full_name":"sloshy/fs2-es","owner":"sloshy","description":"Event sourcing utilities for FS2","archived":false,"fork":false,"pushed_at":"2023-07-01T00:29:38.000Z","size":553,"stargazers_count":79,"open_issues_count":39,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2023-07-03T13:05:41.768Z","etag":null,"topics":["cats-effect","event-sourcing","events","fs2","scala","state-machine","state-management","streaming"],"latest_commit_sha":null,"homepage":"https://sloshy.github.io/fs2-es/","language":"Scala","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/sloshy.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}},"created_at":"2019-09-28T20:52:50.000Z","updated_at":"2023-07-03T13:05:41.769Z","dependencies_parsed_at":"2023-02-15T13:35:27.087Z","dependency_job_id":null,"html_url":"https://github.com/sloshy/fs2-es","commit_stats":null,"previous_names":[],"tags_count":11,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloshy%2Ffs2-es","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloshy%2Ffs2-es/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloshy%2Ffs2-es/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloshy%2Ffs2-es/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sloshy","download_url":"https://codeload.github.com/sloshy/fs2-es/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248585248,"owners_count":21128974,"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":["cats-effect","event-sourcing","events","fs2","scala","state-machine","state-management","streaming"],"created_at":"2025-04-12T14:46:59.903Z","updated_at":"2025-10-26T13:06:14.194Z","avatar_url":"https://github.com/sloshy.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FS2-ES\n\n**This project is not actively maintained as of October 2021, and should be avoided for new projects at this time. If you are looking for event-sourcing needs in the Typelevel ecosystem, please check out [edomata](https://github.com/hnaderi/edomata) instead.**\n\n![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/dev.rpeters/fs2-es_2.13?label=latest\u0026server=https%3A%2F%2Foss.sonatype.org) [![Gitter](https://badges.gitter.im/fs2-es/community.svg)](https://gitter.im/fs2-es/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nThis is a small library to encode event-sourcing patterns using FS2, a streaming library in Scala.\nThe library is polymorphic using Cats Effect, so you can use it with any effect type you want that implements `cats.effect.Concurrent`.\n\nTo use, add the library to your `build.sbt` like so:\n```\nlibraryDependencies += \"dev.rpeters\" %% \"fs2-es\" % \"\u003clatest-version\u003e\"\nlibraryDependencies += \"dev.rpeters\" %% \"fs2-es-testing\" % \"\u003clatest-version\u003e\" //Test module\n```\n\nCurrently Scala 2.12 and 2.13 are both supported. Project is built for Scala JVM and ScalaJS 1.4+.\n\n## Features\nThis library has three core focuses:\n\n* [State Management](https://sloshy.github.io/fs2-es/docs/eventstate/) - Use \"EventState\" to model event-driven state that is safe, concurrent, and with no boilerplate.\n* [Event Sourcing](https://sloshy.github.io/fs2-es/docs/eventstatecache/) - Manage entities using event sourcing patterns with \"EventStateCache\", a standard repository interface.\n* [Test Utilities](https://sloshy.github.io/fs2-es/docs/testing/) - Utilize time-travel debugging features and other goodies to analyze your state as it changes.\n\nClick any of the links above to go to the relevant parts of the documentation on our microsite.\n\n## API Docs\n* [Core](https://javadoc.io/doc/dev.rpeters/fs2-es_2.13/latest/dev/rpeters/fs2/es/index.html)\n* [Testing](https://javadoc.io/doc/dev.rpeters/fs2-es-testing_2.13/latest/dev/rpeters/fs2/es/testing/index.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsloshy%2Ffs2-es","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsloshy%2Ffs2-es","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsloshy%2Ffs2-es/lists"}