pykka - Pykka is a Python implementation of the actor model, which makes it easier to build concurrent applications

  •        246

Pykka is a Python implementation of the actor model. The actor model introduces some simple rules to control the sharing of state and cooperation between execution units, which makes it easier to build concurrent applications. An actor is an execution unit that executes concurrently with other actors.



Related Projects

orleans - Orleans - Distributed Virtual Actor Model

  •    CSharp

Orleans is a framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.It was created by Microsoft Research implementing the Virtual Actor Model and designed for use in the cloud.

Actix - Rust's powerful actor system and most fun web framework

  •    Rust

Actix is a Rust actors framework.The base of it is a powerful actor system for Rust on top of which the actix-web system was originally built. This is what you are most likely going to work with. What actix-web gives you is a fun and very fast web development framework. - Port of Akka actors for .NET

  •    CSharp

Akka.NET is a community-driven port of the popular Java/Scala framework Akka to .NET.If you are interested in helping porting Akka to .NET please take a look at Contributing to Akka.NET.

Stact - An early actor framework for .NET, long since abandoned by me.

  •    CSharp

NOTE: If you are looking at the source - please run build.bat before opening the solution. It creates the SolutionVersion.cs file that is necessary for a successful build. Developing concurrent applications requires an approach that departs from current software development methods, an approach that emphasizes concurrency and communication between autonomous system components. The actor model defines a system of software components called actors that interact with each other by exchanging messages (instead of calling methods on interfaces in an object-oriented design), producing a system in which data (instead of control) flows through components to meet the functional requirements of the system.

message-io - Fast and easy-to-use event-driven network library.

  •    Rust

message-io is a fast and easy-to-use event-driven network library. The library handles the OS socket internally and offers a simple event message API to the user. It also allows you to make an adapter for your own transport protocol following some rules, delegating the tedious asynchrony and thread management to the library. Managing sockets is hard because you need to fight with threads, concurrency, full duplex, encoding, IO errors that come from the OS (which are really difficult to understand in some situations), etc. If you make use of non-blocking sockets, it adds a new layer of complexity: synchronize the events that come asynchronously from the Operating System.

actor-framework - An Open Source Implementation of the Actor Model in C++

  •    C++

CAF is an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more. The easiest way to build CAF is to use the configure script. Other available options are using CMake directly or SNocs.

actor-boilerplate - A starting point for web apps based on the actor model.

  •    TypeScript

A starting point for web apps based on the actor model. Both this build system and the actor-helpers library are provided by us for convenience. You are encouraged to explore your own approach to actorize your code.

Amarok Framework Library

  •    DotNet

This framework library is an attempt to take advantage of the actor/agent programming model for standalone desktop applications. Most of the concepts are inspired by the actor model, Microsoft Robotics CCR and the TPL Dataflow library.

akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM

  •    Scala

We believe that writing correct concurrent & distributed, resilient and elastic applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction. Akka is here to change that.


  •    DotNet

The intention of the Lite framework is to support actor-based programming in .NET languages. The actor model differs from conventional object-oriented progamming in that objects communicate via asynchronous message-passing instead of method calling.

coobjc - coobjc provides coroutine support for Objective-C and Swift

  •    Objective-C

This library provides coroutine support for Objective-C and Swift. We added await method、generator and actor model like C#、Javascript and Kotlin. For convenience, we added coroutine categories for some Foundation and UIKit API in cokit framework like NSFileManager, JSON, NSData, UIImage etc. We also add tuple support in coobjc. Sequence of simple operations is unnaturally composed in the nested blocks. This "Callback hell" makes it difficult to keep track of code that is running, and the stack of closures leads to many second order effects.

protoactor-go - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin

  •    Go

Introducing cross platform actor support between Go and C#.Can I use this? The Go implementation is still in beta, there are users using Proto Actor for Go in production already. But be aware that the API might change over time until 1.0.

ponyc - :horse: Pony is an open-source, actor-model, capabilities-secure, high performance programming language

  •    C++

Need help? Not to worry, we have you covered. We have a couple resources designed to help you learn, we suggest starting with the tutorial and from there, moving on to the Pony Patterns book. Additionally, standard library documentation is available online.

orbit - Orbit - Virtual actor framework for building distributed systems

  •    Java

Orbit is a framework to write distributed systems using virtual actors on the JVM. It allows developers to write highly distributed and scalable applications while greatly simplifying clustering, discovery, networking, state management, actor lifetime and more. Orbit received the 2016 Duke's Choice Award for Open Source, read here for more information.

frdomain - Code repo for Functional and Reactive Domain Modeling

  •    Scala

Code repo for Functional and Reactive Domain Modeling.Functional and Reactive Domain Modeling teaches you how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions. You will start with the basics of functional programming and gradually progress to the advanced concepts and patterns that you need to know to implement complex domain models. The book demonstrates how advanced FP patterns like algebraic data types, typeclass based design, and isolation of side-effects can make your model compose for readability and verifiability. On the subject of reactive modeling, the book focuses on higher order concurrency patterns like actors and futures. It uses the Akka framework as the reference implementation and demonstrates how advanced architectural patterns like event sourcing and CQRS can be put to great use in implementing scalable models. You will learn techniques that are radically different from the standard RDBMS based applications that are based on mutation of records. You'll also pick up important patterns like using asynchronous messaging for interaction based on non blocking concurrency and model persistence, which delivers the speed of in-memory processing along with suitable guarantees of reliability.

Stlab Libraries - C++ Concurrency Library

  •    C++

Stlab Concurrency library provides high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing the contention.

agensgraph - AgensGraph, a transactional graph database based on PostgreSQL

  •    C

AgensGraph is a new generation multi-model graph database for the modern complex data environment. AgensGraph is a multi-model database, which supports the relational and graph data model at the same time that enables developers to integrate the legacy relational data model and the flexible graph data model in one database. AgensGraph supports ANSI-SQL and openCypher ( SQL queries and Cypher queries can be integrated into a single query in AgensGraph. AgensGraph is based on the powerful PostgreSQL RDBMS, and is very robust, fully-featured and ready for enterprise use. AgensGraph is optimized for handling complex connected graph data and provides plenty of powerful database features essential to the enterprise database environment including ACID transactions, multi-version concurrency control, stored procedure, triggers, constraints, sophisticated monitoring and a flexible data model (JSON). Moreover, AgensGraph leverages the rich eco-systems of PostgreSQL and can be extended with many outstanding external modules, like PostGIS.

nact - nact ⇒ node.js + actors ⇒ your services have never been so µ

  •    Javascript

Any and all feedback, comments and suggestions are welcome. Please open an issue if you find anything unclear or misleading in the documentation. This is the repository for the javascript implementation. To view/contribute to the ReasonML code, go to To contribute to the documentation, is the place to make PRs.

nHydrate - Conceive, Model, Generate

  •    CSharp

nHydrate is an object-relational mapping (ORM) solution for the Microsoft .NET platform providing a framework for a relational database to be mapped to .NET objects. It is designed to alleviate the software developers experience writing persistence domains. The model controls database generation, LINQ syntax, API, DAL, etc.

Artoo - Micro-framework for Robotics using Ruby

  •    Ruby

Artoo is a micro-framework for robotics using Ruby. It provides a simple, yet powerful Domain-Specific Language (DSL) for robotics and physical computing. It provides next generation robotics framework with support for 15 different platforms. Artoo includes a RESTful API to query the status of any robot running within a group, including the connection and device status, and device streaming data via websockets.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.