{"id":13691280,"url":"https://github.com/whatyouhide/guide_async_processing_in_elixir","last_synced_at":"2026-03-05T19:02:46.347Z","repository":{"id":50903521,"uuid":"519838879","full_name":"whatyouhide/guide_async_processing_in_elixir","owner":"whatyouhide","description":"A Livebook-based guide to async processing in Elixir. 🏃","archived":false,"fork":false,"pushed_at":"2024-01-11T17:10:21.000Z","size":1812,"stargazers_count":146,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T01:35:42.744Z","etag":null,"topics":["async-programming","elixir","elixir-lang","interactive","interactive-notebooks","livebook"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/whatyouhide.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2022-07-31T17:11:31.000Z","updated_at":"2025-02-25T21:59:24.000Z","dependencies_parsed_at":"2024-04-08T11:03:48.290Z","dependency_job_id":null,"html_url":"https://github.com/whatyouhide/guide_async_processing_in_elixir","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/whatyouhide/guide_async_processing_in_elixir","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatyouhide%2Fguide_async_processing_in_elixir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatyouhide%2Fguide_async_processing_in_elixir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatyouhide%2Fguide_async_processing_in_elixir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatyouhide%2Fguide_async_processing_in_elixir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whatyouhide","download_url":"https://codeload.github.com/whatyouhide/guide_async_processing_in_elixir/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatyouhide%2Fguide_async_processing_in_elixir/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014020,"owners_count":26085347,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["async-programming","elixir","elixir-lang","interactive","interactive-notebooks","livebook"],"created_at":"2024-08-02T17:00:42.820Z","updated_at":"2025-10-13T02:46:14.060Z","avatar_url":"https://github.com/whatyouhide.png","language":null,"readme":"# Asynchronous Processing in Elixir 🏃\n\n![Cover image of some abstract lights][cover-image]\n\nThis is a short interactive guide to asynchronous data processing in Elixir. It\nuses [Livebook][livebook] to show interactive Elixir snippets that you can run\non your own machine.\n\n## How Do I Use This?\n\nThere are a handful of livebooks in this guide. Using the badges below, you can\nimport them to your computer and run and explore them there. My recommendation\nis to use the Livebook desktop app that you can find [on its website][livebook].\n\n### 01 — Processes\n\n[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir%2Fmain%2F01-processes.livemd)\n\nIn this livebook we talk about the basics of processes and message passing.\n\n### 02 — Tasks\n\nHere, we talk about the `Task` abstraction that ships in Elixir's standard\nlibrary.\n\n[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir%2Fmain%2F02-tasks.livemd)\n\n### 03 — GenStage\n\n[GenStage] is an Elixir library maintained by the Elixir core team. It lets you\nbuild pipelines of stages through which events flow.\n\n[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir%2Fmain%2F03-genstage.livemd)\n\n### 04 — Flow\n\n[Flow] is another Elixir library maintained by the core team. It builds on top\nof GenStage to provide an API similar to `Enum` and `Stream`, but for parallel\ndata processing.\n\n[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir%2Fmain%2F04-flow.livemd)\n\n### 05 — Broadway\n\n[Broadway] lets you build declarative data ingestion and processing pipelines.\nIt supports several sources (RabbitMQ, Kafka, AWS SQS, and more).\n\n[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir%2Fmain%2F05-broadway.livemd)\n\n## License\n\nSee [the license file](./LICENSE.txt).\n\n\"Social preview\" photo by [Bofu Shaw](https://unsplash.com/@hikeshaw?utm_source=unsplash\u0026utm_medium=referral\u0026utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/speed?utm_source=unsplash\u0026utm_medium=referral\u0026utm_content=creditCopyText).\n\n[livebook]: https://livebook.dev\n[GenStage]: https://github.com/elixir-lang/gen_stage\n[Flow]: https://github.com/elixir-lang/flow\n[Broadway]: https://elixir-broadway.org\n[cover-image]: https://user-images.githubusercontent.com/3890250/182093532-159e5bcc-dcd7-40d7-9030-da914f3db0bb.jpg\n","funding_links":[],"categories":["[🧑‍💻 dev](https://github.com/stars/ketsapiwiq/lists/dev)","Livebooks \u0026 Examples"],"sub_categories":["Development Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhatyouhide%2Fguide_async_processing_in_elixir/lists"}