{"id":19839422,"url":"https://github.com/scientifichackers/zproc","last_synced_at":"2026-03-12T15:38:15.068Z","repository":{"id":54440109,"uuid":"127179361","full_name":"scientifichackers/zproc","owner":"scientifichackers","description":"Process on steroids","archived":false,"fork":false,"pushed_at":"2022-12-08T05:20:11.000Z","size":496,"stargazers_count":114,"open_issues_count":5,"forks_count":1,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-01-14T10:35:41.077Z","etag":null,"topics":["multiprocessing","multitasking","python3","state-machine","state-management","stateful","zeromq"],"latest_commit_sha":null,"homepage":"","language":"Python","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/scientifichackers.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}},"created_at":"2018-03-28T18:06:25.000Z","updated_at":"2025-12-04T14:31:03.000Z","dependencies_parsed_at":"2023-01-24T14:15:15.895Z","dependency_job_id":null,"html_url":"https://github.com/scientifichackers/zproc","commit_stats":null,"previous_names":["devxpy/zproc"],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/scientifichackers/zproc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientifichackers%2Fzproc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientifichackers%2Fzproc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientifichackers%2Fzproc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientifichackers%2Fzproc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scientifichackers","download_url":"https://codeload.github.com/scientifichackers/zproc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientifichackers%2Fzproc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30430979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T14:34:45.044Z","status":"ssl_error","status_checked_at":"2026-03-12T14:09:33.793Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["multiprocessing","multitasking","python3","state-machine","state-management","stateful","zeromq"],"created_at":"2024-11-12T12:22:23.100Z","updated_at":"2026-03-12T15:38:15.046Z","avatar_url":"https://github.com/scientifichackers.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n\n\u003cimg width=\"400\" src=\"https://s3.ap-south-1.amazonaws.com/saral-data-bucket/misc/logo%2Btype%2Bnocatch.svg\" /\u003e\n\n[![PyPI](https://img.shields.io/pypi/pyversions/zproc.svg?style=for-the-badge)](https://pypi.org/project/zproc/)\n\n\u003cp align=\"center\"\u003e\n\n# The idea\n\nZProc is an experiment that aims to unify how we program multitasking and distributed applications.\n\nIf it succeeds, programmers can have a _single_ method to program in this general area of computing, at any level in the stack.\n\n---\n\nPerhaps, the ethos of this project is best summarised by this quote from the late Joe Armstrong:\n\n\u003e I want one way to program, not many.\n\n# Implemenatation\n\nThe current solution is a centralized one. \n\nAt the heart lies a Python program, \nthat serves a data structure (A python dict), \nwhich supports event sourcing, time travel, task sequencing, etc.\n\nProcesses simply mutate this remote data structure, and communicate using the events it emitts.\n\nAnd 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).\n\nThis project is currently understood to be at [TRL3](https://en.wikipedia.org/wiki/Technology_readiness_level).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientifichackers%2Fzproc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscientifichackers%2Fzproc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientifichackers%2Fzproc/lists"}