{"id":13726232,"url":"https://github.com/odis-labs/streaming","last_synced_at":"2025-05-07T21:31:51.006Z","repository":{"id":46079799,"uuid":"227113053","full_name":"odis-labs/streaming","owner":"odis-labs","description":"Fast, safe and composable streaming abstractions.","archived":false,"fork":false,"pushed_at":"2022-08-07T14:02:38.000Z","size":234,"stargazers_count":108,"open_issues_count":3,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-04T01:28:41.036Z","etag":null,"topics":["iterators","ocaml","reasonml","streaming","transducers"],"latest_commit_sha":null,"homepage":"https://odis-labs.github.io/streaming","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/odis-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-10T12:17:53.000Z","updated_at":"2024-04-28T15:46:38.000Z","dependencies_parsed_at":"2022-09-23T07:00:20.541Z","dependency_job_id":null,"html_url":"https://github.com/odis-labs/streaming","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odis-labs%2Fstreaming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odis-labs%2Fstreaming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odis-labs%2Fstreaming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odis-labs%2Fstreaming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/odis-labs","download_url":"https://codeload.github.com/odis-labs/streaming/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224654185,"owners_count":17347686,"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":["iterators","ocaml","reasonml","streaming","transducers"],"created_at":"2024-08-03T01:02:56.467Z","updated_at":"2024-11-14T16:33:34.619Z","avatar_url":"https://github.com/odis-labs.png","language":"OCaml","funding_links":[],"categories":["OCaml"],"sub_categories":[],"readme":"# Streaming\n\nStreaming abstractions that combine, transform and reduce large amounts of\nsequential data efficiently, in constant space and without leaking resources.\n\n## Overview\n\n_Streaming_ uses composable stream producers (sources), consumers (sinks) and\ntransformers (flows). The central model that abstracts over them is a `Stream`.\n\nThe following features are provided:\n\n- **Constant memory usage**: large or infinite streams can be computed in constant\n  and small space. Buffering of the input is possible when needed.\n- **Excellent performance**: all models were designed with performance at the\n  core. See [benchmarks](https://github.com/rizo/streams-bench) for detailed\n  comparison with other libraries.\n- **Resource safety**: resources in effectful streaming pipelines are allocated\n  lazily and released as early as possible. Resources are guaranteed to\n  be terminated even when streams rise exceptions.\n- **Flexibility**: both push-based and pull-based models are implemented to\n  allow efficient zipping, concatenation and other streaming operations.\n- **Streaming notation**: build streams and sinks using a convenient\n  comprehension and applicative notations.\n\nRead the [library documenation](https://odis-labs.github.io/streaming) for more details.\n\n\n## Acknowledgements\n\nThis library is based on ideas found in other libraries and research projects\nsuch as: Haskell's [Pipes](https://github.com/Gabriel439/Haskell-Pipes-Library)\nand [Foldl](https://github.com/Gabriel439/Haskell-Foldl-Library) libraries,\nScala's [ZIO Streams](https://zio.dev), Clojure's\n[Transducers](https://clojure.org/reference/transducers) and the\n[Iteratees](http://okmij.org/ftp/Streams.html) streaming model by Oleg\nKiselyov.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodis-labs%2Fstreaming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodis-labs%2Fstreaming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodis-labs%2Fstreaming/lists"}