{"adoption": {"forks": 86, "observed_at": "2026-08-28T04:03:37.219110+00:00", "stars": 1109}, "canonical_url": "https://ross.abutalabs.com/products/kotlinx-atomicfu", "card": {"archived": false, "artifact_type": "library", "description": "The idiomatic way to use atomic operations in Kotlin", "domain": ["programming-languages", "developer-tools", "cross-platform"], "enriched": true, "function": ["concurrency", "developer-tools"], "health_score": 99, "homepage": null, "language": "Kotlin", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["Kotlin/kotlinx-atomicfu"], "name": "Kotlin/kotlinx-atomicfu", "platform": ["jvm", "wasm", "cross-platform"], "pushed_at": "2026-08-25T20:30:42+00:00", "repo": "Kotlin/kotlinx-atomicfu", "stars": 1109, "tags": ["kotlin-multiplatform", "atomic-operations", "compiler-plugin", "locks", "jetbrains", "nodejs"], "topics": ["kotlinx", "atomic", "kotlin"], "urls": [], "use_cases": ["use atomic variables in Kotlin multiplatform code", "implement lock-free concurrent data structures in Kotlin", "share mutable state safely across coroutines", "replace java.util.concurrent atomics with multiplatform equivalents", "add reentrant locks to Kotlin/Native and JS code", "compile atomics to efficient field updaters on JVM"], "what_it_is": "AtomicFU is a Kotlin multiplatform library and compiler plugin providing idiomatic, efficient atomic operations and locks across JVM, Native, JS, and Wasm. Atomic values are written as boxed values but compiled down to efficient platform-specific primitives like Java field updaters.", "when_to_avoid": ["your project uses Kotlin older than 2.2.0 or Gradle older than 8.2 and cannot upgrade", "you only target the JVM and prefer plain java.util.concurrent.atomic classes", "you need strict API stability guarantees, since the plugin is in beta"], "when_to_choose": ["you need atomic operations in Kotlin Multiplatform projects targeting JVM, Native, JS, or Wasm", "you want idiomatic Kotlin APIs for atomics and locks with efficient compiled output", "you are building concurrent libraries or coroutine-based systems in Kotlin"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kotlinx-atomicfu", "repo": "Kotlin/kotlinx-atomicfu", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "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:37.219110+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.219110+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.800817+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fa8bcfc7b795eff47ea0fd725f5c799abde078d8c72b99f967d188c8fed7f51", "fetched_at": "2026-08-28T04:03:37.219110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kotlin/kotlinx-atomicfu"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 74}, "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": 3313, "days_push": 8, "days_rel": 96, "gap_med": 42, "n_releases_24m": 10}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}