{"adoption": {"forks": 635, "observed_at": "2026-08-28T04:06:52.948110+00:00", "stars": 2451}, "canonical_url": "https://ross.abutalabs.com/products/fs2", "card": {"archived": false, "artifact_type": "library", "description": "Compositional, streaming I/O library for Scala", "domain": ["developer-tools"], "enriched": true, "function": ["streaming", "concurrency", "file-system", "networking"], "health_score": 98, "homepage": "https://fs2.io", "language": "Scala", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["typelevel/fs2"], "name": "typelevel/fs2", "platform": ["jvm", "cross-platform"], "pushed_at": "2026-08-24T18:08:23+00:00", "repo": "typelevel/fs2", "stars": 2451, "tags": ["scala", "streams", "cats-effect", "functional-programming", "resource-safety", "reactive-streams", "data-engineering"], "topics": ["scala", "stream", "streaming-computation", "fp", "functional-programming"], "urls": [], "use_cases": ["process large files as streams in scala without loading everything into memory", "build concurrent pipelines with backpressure in scala", "stream data from kafka or tcp sockets functionally", "handle resource-safe io with guaranteed cleanup in cats-effect apps", "transform and compose effectful data streams lazily", "implement streaming etl jobs in scala"], "what_it_is": "FS2 (Functional Streams for Scala) is a purely functional, effectful stream processing library for Scala built on Cats and Cats-Effect. It emphasizes compositionality, resource safety, and performance, supporting Scala 2.12/2.13/3 as well as Scala.js and Scala Native.", "when_to_avoid": ["you use ZIO rather than Cats-Effect (consider zio-streams instead)", "you need simple one-shot async sequences rather than streaming (fs2 may be overkill)", "your project is not Scala-based"], "when_to_choose": ["you are in the Typelevel/Cats-Effect ecosystem and need composable streaming", "you need resource-safe, backpressured concurrent pipelines on JVM, JS, or Native", "you want a mature, well-documented streaming library with a large ecosystem of integrations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fs2", "repo": "typelevel/fs2", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:52.948110+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:30:12.826306+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6888adfa255b08f24d2170fcd2151cefd3654feea7f7b4e2f43ab7c5c8d0e893", "fetched_at": "2026-08-28T04:06:52.948110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/typelevel/fs2"}, {"content_hash": "36d16d35f07c647e1ce17b495be988532558613b0c258cb5e7d113cd4565fc3b", "fetched_at": "2026-08-29T10:11:30.151047+00:00", "kind": "homepage", "missing": false, "url": "https://fs2.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 50}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4928, "days_push": 9, "days_rel": 174, "gap_med": 94.0, "n_releases_24m": 5}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}