Description
FS2 is a streaming I/O library. The design goals are compositionality, expressiveness, resource safety, and speed.
FS2 alternatives and similar packages
Based on the "Testing" category.
Alternatively, view FS2 alternatives based on common mentions on social networks and blogs.
-
Testcontainers-scala
DISCONTINUED. The project repository has moved to https://github.com/testcontainers/testcontainers-scala
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of FS2 or a related project?
Popular Comparisons
README
FS2: Functional Streams for Scala
Overview
FS2 is a library for purely functional, effectful, and polymorphic stream processing library in the Scala programming language. Its design goals are compositionality, expressiveness, resource safety, and speed. The name is a modified acronym for Functional Streams for Scala (FSS, or FS2).
FS2 is available for Scala 2.12, Scala 2.13, Scala 3, and Scala.js and Scala Native.
FS2 is built upon two major functional libraries for Scala, Cats, and Cats-Effect.
Regardless of those dependencies, FS2 core types (streams and pulls) are polymorphic in the effect type (as long as it is compatible with cats-effect
typeclasses),
and thus FS2 can be used with other effect libraries, such as Monix.
Getting Started
Quick links:
Documentation and getting help
- There are Scaladoc API documentations for [the core library][core-api], which defines and implements the core types for streams and pulls, as well as the type aliases for pipes and sinks. The
io
library provides FS2 bindings for NIO-based file I/O and TCP/UDP networking. - The official guide is a good starting point for learning more about the library.
- The documentation page is intended to serve as a list of all references, including conference presentation recordings, academic papers, and blog posts, on the use and implementation of
fs2
. - The FAQ has frequently asked questions. Feel free to open issues or PRs with additions to the FAQ!
- Also feel free to come discuss and ask/answer questions in the Typelevel Discord channel and/or on StackOverflow using the tag FS2. Discord will generally get you a quicker answer.
Projects using FS2
You can find a list of libraries and integrations with data stores built on top of FS2 here: https://fs2.io/#/ecosystem.
If you have a project you'd like to include in this list, please open a PR or let us know in the Discord channel and we'll add a link to it.
Acknowledgments
Special thanks to YourKit for supporting this project's ongoing performance tuning efforts with licenses to their excellent product.
Code of Conduct
See the Code of Conduct.
*Note that all licence references and agreements mentioned in the FS2 README section above
are relevant to that project's source code only.