Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/scientifichackers/zproc
Process on steroids
https://github.com/scientifichackers/zproc
multiprocessing multitasking python3 state-machine state-management stateful zeromq
Last synced: 3 days ago
JSON representation
Process on steroids
- Host: GitHub
- URL: https://github.com/scientifichackers/zproc
- Owner: scientifichackers
- License: mit
- Created: 2018-03-28T18:06:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T05:20:11.000Z (almost 2 years ago)
- Last Synced: 2023-09-19T18:32:55.740Z (about 1 year ago)
- Topics: multiprocessing, multitasking, python3, state-machine, state-management, stateful, zeromq
- Language: Python
- Homepage:
- Size: 484 KB
- Stars: 111
- Watchers: 11
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![PyPI](https://img.shields.io/pypi/pyversions/zproc.svg?style=for-the-badge)](https://pypi.org/project/zproc/)
# The idea
ZProc is an experiment that aims to unify how we program multitasking and distributed applications.
If it succeeds, programmers can have a _single_ method to program in this general area of computing, at any level in the stack.
---
Perhaps, the ethos of this project is best summarised by this quote from the late Joe Armstrong:
> I want one way to program, not many.
# Implemenatation
The current solution is a centralized one.
At the heart lies a Python program,
that serves a data structure (A python dict),
which supports event sourcing, time travel, task sequencing, etc.Processes simply mutate this remote data structure, and communicate using the events it emitts.
And it does this using [zeromq](http://zeromq.org/) — in a way that users don't need to concern themselves with the intricacies of networking and messaing passing — while still benifiting from the powers of [CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes).
This project is currently understood to be at [TRL3](https://en.wikipedia.org/wiki/Technology_readiness_level).