{"id":236121,"name":"streamly","ecosystem":"hackage","description":"For upgrading to streamly-0.9.0+ please read the\nStreamly-0.9.0 upgrade guide.\n\nStreamly is a high-performance, beginner-friendly standard library\nfor Haskell. It unifies streaming with list transformers and logic\nprogramming; unifies streaming with concurrency and reactive\nprogramming; unifies arrays with ring arrays, text, bytestring\nand vector use cases; unifies arrays with builders and binary\nserialization; generalizes parsers to any input type and unifies\nattoparsec, parsec use cases with better performance; provides\nstreaming fileIO — all with a clean, consistent, well-integrated and\nstreaming enabled API.\n\nStreams are designed to have a list like interface — no steep\nlearning curve, no complex types. Streamly is designed to build\ngeneral purpose applications in a truly functional manner, from\nsimple hello-world to advanced high-performance systems. The design\nemphasizes simplicity, modularity, and code reuse with minimal\nbuilding blocks. Performance is on par with C, tuning is easy, and\nit’s hard to get it wrong.\n\nStreamly is serial by default, with seamless declarative concurrency\nthat scales automatically when needed. It provides prompt and safe\nresource management, works well with other streaming libraries as well\nas core libraries like bytestring and text, and is backed by solid\ndocumentation.\n\nThe streamly package is built on top of the streamly-core package\nand offers high-level capabilities such as concurrency, reactive\nprogramming, time-related combinators, lifted exceptions, and\nnetworking. It provides streaming with concurrency, and is a more\npowerful, higher-level and more expressive alternative to the async\npackage.\n\nPerformant. Unified. Modular. Powerful. Simple.\n\nLearn more at the streamly website.","homepage":"https://streamly.composewell.com","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"","keywords_array":["array","bsd3","concurrency","dataflow","filesystem","library","list","logic","network","non-determinism","parsing","pipes","reactivity","streaming","streamly","time","unicode","Propose Tags"],"namespace":null,"versions_count":28,"first_release_published_at":"2017-12-05T15:16:20.000Z","latest_release_published_at":"2025-09-03T13:33:40.000Z","latest_release_number":"0.11.0","last_synced_at":"2026-03-23T16:00:56.482Z","created_at":"2022-04-06T02:08:46.920Z","updated_at":"2026-03-23T16:01:37.456Z","registry_url":"https://hackage.haskell.org/package/streamly","install_command":"cabal install streamly","documentation_url":null,"metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-23T16:01:37.435Z","dependent_packages_count":20,"downloads":20194,"downloads_period":"total","dependent_repos_count":58,"rankings":{"downloads":8.844306301215033,"dependent_repos_count":7.137609494207403,"dependent_packages_count":1.3563153433173212,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.779410379579919},"purl":"pkg:hackage/streamly","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/streamly","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/streamly","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/streamly/dependencies","status":null,"funding_links":[],"critical":false,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streamly/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streamly/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streamly/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streamly/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streamly/codemeta","maintainers":[{"uuid":"harendra","login":"harendra","name":null,"email":null,"url":null,"packages_count":25,"html_url":"https://hackage.haskell.org/user/harendra","role":null,"created_at":"2022-11-14T19:55:46.979Z","updated_at":"2022-11-14T19:55:46.979Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/harendra/packages"},{"uuid":"adithyaov","login":"adithyaov","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://hackage.haskell.org/user/adithyaov","role":null,"created_at":"2022-11-14T19:55:47.014Z","updated_at":"2022-11-14T19:55:47.014Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/adithyaov/packages"},{"uuid":"pranaysashank","login":"pranaysashank","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://hackage.haskell.org/user/pranaysashank","role":null,"created_at":"2022-11-14T19:55:46.991Z","updated_at":"2022-11-14T19:55:46.991Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/pranaysashank/packages"}]}