{"id":22615868,"url":"https://github.com/orleanscontrib/orleankka","last_synced_at":"2025-05-14T05:11:06.367Z","repository":{"id":25829883,"uuid":"29269234","full_name":"OrleansContrib/Orleankka","owner":"OrleansContrib","description":"Functional API for Microsoft Orleans http://orleanscontrib.github.io/Orleankka","archived":false,"fork":false,"pushed_at":"2025-02-08T13:36:14.000Z","size":12898,"stargazers_count":498,"open_issues_count":3,"forks_count":77,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-04-15T00:37:17.726Z","etag":null,"topics":["actors","cqrs","event-sourcing","fsm","functional","orleans"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"cibernox/ember-power-select-with-create","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OrleansContrib.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":"2015-01-14T22:31:17.000Z","updated_at":"2025-04-11T12:51:19.000Z","dependencies_parsed_at":"2023-11-11T17:30:12.097Z","dependency_job_id":"a071e9c5-fdd1-4757-ad08-0576c8a882fe","html_url":"https://github.com/OrleansContrib/Orleankka","commit_stats":{"total_commits":1124,"total_committers":24,"mean_commits":"46.833333333333336","dds":"0.14857651245551606","last_synced_commit":"882acfe43ada01ea947d5e3404a78aab7cb05160"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrleansContrib%2FOrleankka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrleansContrib%2FOrleankka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrleansContrib%2FOrleankka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrleansContrib%2FOrleankka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OrleansContrib","download_url":"https://codeload.github.com/OrleansContrib/Orleankka/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"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":["actors","cqrs","event-sourcing","fsm","functional","orleans"],"created_at":"2024-12-08T19:09:52.642Z","updated_at":"2025-05-14T05:11:01.356Z","avatar_url":"https://github.com/OrleansContrib.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Orleankka Logo](Logo.Wide.jpg)\n\nOrleankka is a functional extension for Microsoft Orleans framework. It provides a message-based API similar to Akka/ProtoActor, carefully layered on top of the Orleans (that's what in a name). Orleankka is an excellent choice for use-cases which can benefit from composable, uniform communication interface, such as CQRS, event-sourcing, FSM, etc.\n\n\u003e References: [intro](https://www.youtube.com/watch?v=07Up88bpl20), [features](https://www.youtube.com/watch?v=FKL-PS8Q9ac), [slides](https://docs.google.com/presentation/d/1brM4SS-uJBRMZs-CdOZoJ0KUgrnPXXwrOXnYgfLL4Nk/edit#slide=id.p4) and [discussion](https://github.com/dotnet/orleans/issues/42).\n\n### Features\n\n+ Message-based API with zero performance overhead\n+ Switchable actor behaviors with built-in hierarchical FSM (behaviors)\n+ Additional api to simplify programming long-running background tasks (jobs)\n+ Poweful actor/proxy middlewares (interceptors)\n+ Convenient unit testing kit (stubs, mocks, expectations)\n\n### How to install\n\nTo install client Orleankka library via NuGet, run this command in NuGet package manager console:\n\n\tPM\u003e Install-Package Orleankka.Client\n\nFor server-side library:\n\n\tPM\u003e Install-Package Orleankka.Runtime\n\nCheck out \"Getting started\" [guide](http://orleanscontrib.github.io/Orleankka/articles/intro/getting-started-csharp.html)\n\n### Build sources\n\nYou will need VS2019 and .NET Core 3.x installed in order to build and open the solution. Clone repository and run the following in CLI from solution's root folder:\n\n\tPM\u003e Nake.bat\n\nThis will restore dependencies and build everything in `debug` mode. Run `Nake.bat` with `-T` switch to see available commands.\n\nOn MacOS\\Linux distributions use below script to build, package or run tests:\n\n\t$\u003e ./nake.sh\n\n\n### Packages\n\n| Package | Description|\n| ------- |------------|\n| [Orleankka](https://www.nuget.org/packages/Orleankka) | Core abstractions lib\n| [Orleankka.Client](https://www.nuget.org/packages/Orleankka.Client) | Client-side lib\n| [Orleankka.Runtime](https://www.nuget.org/packages/Orleankka.Runtime/) | Server-side runtime lib\n| [Orleankka.TestKit](https://www.nuget.org/packages/Orleankka.TestKit/) | Unit testing kit\n\n### Examples\n\n+ Hello, world! [[demo]](Samples/CSharp/HelloWorld)\n+ \"WebScan\" [[demo]](Samples/CSharp/Demo/Demo.App)\n+ TestKit [[demo]](Source/CSharp/Demo/Demo.App.Tests)\n+ Event Sourcing \n\t+ Idiomatic (CQRS) [[see]](Samples/CSharp/EventSourcing/Idiomatic)\n\t+ Persistence: GetEventStore [[see]](Samples/CSharp/EventSourcing/Persistence/GES)\n\t+ Persistence: Streamstone [[see]](Samples/CSharp/EventSourcing/Persistence/Streamstone)\n+ Reentrant messages [[rw-x]](Samples/CSharp/Reentrant)\n+ Client-side observers [[chat]](Samples/CSharp/Observers)\n+ Streams [[chat]](Samples/CSharp/Streams)\n+ Switchable behaviors\n\t+ Basics [[see]](Samples/CSharp/FSM/Lightbulb)\n\t+ Durable FSM with supervision[[see]](Samples/CSharp/FSM/ProcessManager)\n\n### Documentation\n\nAt present, documentation is undergoing a major overhaul. Please, check the unit tests and examples above to get up-to-date information on API usage.\n\n## Community\n\n+ Join [Gitter](https://gitter.im/OrleansContrib/Orleankka) chat\n+ Follow the [@Orleankka](https://twitter.com/Orleankka) Twitter account for announcements\n\n## License\n\nApache 2 License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forleanscontrib%2Forleankka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forleanscontrib%2Forleankka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forleanscontrib%2Forleankka/lists"}