# Cysharp/ObservableCollections

High performance observable collections and synchronized views, for WPF, Blazor, Unity.

Repository: https://github.com/Cysharp/ObservableCollections
Canonical: https://ross.abutalabs.com/products/observablecollections
Language: C#
License: MIT
License Family: permissive
Last push: 2026-08-21T07:48:15+00:00

## Health v2 (maintenance only)
Score: 78/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 40, longevity 100
- inputs: {"age_days": 1856, "days_push": 12, "days_rel": 425, "gap_med": 3, "n_releases_24m": 14}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1009, forks 73 (observed 2026-08-28T04:03:12.836317+00:00)

## What it is
A high-performance C# library providing generic observable collections (list, dictionary, hashset, queue, stack, ring buffers) with allocation-free change notifications and thread-safe synchronized views. Designed for building reactive Model-View bindings in WPF, Blazor, and Unity, with R3 integration.

## Use cases
- replace ObservableCollection with a faster generic version in WPF
- bind collections to UI without boxing allocations
- create thread-safe synchronized views of a collection
- react to collection changes with R3 observables
- build MVVM data binding for Unity or Blazor
- observe sort and reverse operations on a list

## When to choose
- you need high-performance, allocation-free collection change notifications in .NET
- you want thread-safe collections with synchronized views for WPF, Blazor, or Unity
- you use R3 and want reactive extensions over collections
- you need range add/remove or sort/reverse notifications

## When to avoid
- you only need a simple, standard ObservableCollection with no performance concerns
- your project does not target .NET/C#
- you need collections for platforms outside WPF, Blazor, or Unity ecosystems

## Facets
- artifact type: library
- maturity: active
- function: state-management, concurrency
- domain: developer-tools, cross-platform, web-development
- platform: dotnet, windows, cross-platform
- tags: csharp, observable-collections, wpf, blazor, unity, mvvm, reactive, r3, thread-safe, synchronized-views

## Member repositories
- Cysharp/ObservableCollections (main) score 78

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:12.836317+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:12:00.159951+00:00, confidence not recorded.
  - readme: https://github.com/Cysharp/ObservableCollections (fetched 2026-08-28T04:03:12.836317+00:00, sha a4b5be0fac12)
- Data as of 2026-08-30T08:39:29.467469+00:00.
