{"adoption": {"forks": 84, "observed_at": "2026-08-28T04:03:49.239337+00:00", "stars": 1161}, "canonical_url": "https://ross.abutalabs.com/products/scala-async", "card": {"archived": false, "artifact_type": "library", "description": "An asynchronous programming facility for Scala", "domain": ["developer-tools", "programming-languages"], "enriched": true, "function": ["concurrency", "serialization"], "health_score": 79, "homepage": null, "language": "Scala", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["scala/scala-async"], "name": "scala/scala-async", "platform": ["jvm"], "pushed_at": "2026-08-21T23:18:07+00:00", "repo": "scala/scala-async", "stars": 1161, "tags": ["scala", "async-await", "futures", "dsl", "compiler-macro", "algorithms"], "topics": ["scala", "scala-async", "asynchronous", "concurrency"], "urls": [], "use_cases": ["write async await style code in scala", "compose futures without nested flatMap callbacks", "run multiple futures concurrently and await results", "avoid blocking on Future results in scala", "simplify asynchronous control flow with if and await"], "what_it_is": "A Scala DSL providing async/await-style syntax for composing scala.concurrent Futures in direct style. It transforms async blocks at compile time into non-blocking state-machine code.", "when_to_avoid": ["you are on Scala 3, which has native async/await support in the standard library ecosystem", "you use effect libraries like ZIO or Cats Effect with their own concurrency primitives", "you need runtime-scheduled async rather than compile-time transformed blocks"], "when_to_choose": ["you use Scala 2.12/2.13 with scala.concurrent.Future and want direct-style async code", "you want compile-time transformation with no runtime dependency overhead beyond a small library", "chained flatMap/map combinators make your Future code hard to read"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/scala-async", "repo": "scala/scala-async", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "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:03:49.239337+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.239337+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:31:43.991315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f09c40e715119355341393502e1359a3eb9589a9d0d6195ecf420e8d7de72dd8", "fetched_at": "2026-08-28T04:03:49.239337+00:00", "kind": "readme", "missing": false, "url": "https://github.com/scala/scala-async"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4902, "days_push": 12, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}