- Notifications
You must be signed in to change notification settings - Fork0
Compositional, streaming I/O library for Scala
License
mox692/fs2
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
FS2 is a library for purely functional, effectful, and polymorphic stream processing library in theScala programming language.Its design goals are compositionality, expressiveness, resource safety, and speed.The name is a modified acronym forFunctionalStreams forScala (FSS, or FS2).
FS2 is available for Scala 2.12, Scala 2.13, Scala 3, andScala.js andScala Native.FS2 is built upon two major functional libraries for Scala,Cats, andCats-Effect.Regardless of those dependencies, FS2 core types (streams and pulls) are polymorphic in the effect type (as long as it is compatible withcats-effect
typeclasses),and thus FS2 can be used with other effect libraries, such asMonix.
Quick links:
- 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.
- Thedocumentation 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 inthe Typelevel Discord channel and/or on StackOverflow usingthe tag FS2. Discord will generally get you a quicker answer.
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 inthe Discord channel and we'll add a link to it.
Special thanks toYourKit for supporting this project's ongoing performance tuning efforts with licenses to their excellent product.
See theCode of Conduct.