# rrousselGit/provider

InheritedWidgets, but simple

Repository: https://github.com/rrousselGit/provider
Canonical: https://ross.abutalabs.com/products/provider
Homepage: https://pub.dev/packages/provider
Language: Dart
License: MIT
License Family: permissive
Topics: flutter, state-management, dart, provider, hacktoberfest
Last push: 2026-03-10T14:53:05+00:00

## Health v2 (maintenance only)
Score: 64/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 71, release rhythm 35, longevity 100
- inputs: {"age_days": 2875, "days_push": 176, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_readme
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5254, forks 524 (observed 2026-08-28T04:09:13.732315+00:00)

## What it is
A Flutter/Dart package that wraps InheritedWidget to make dependency injection and state management simpler and more reusable. It provides Provider.of, Consumer, Selector, and ChangeNotifierProvider abstractions with reduced boilerplate and devtool support.

## Use cases
- manage app state in a flutter app
- share state across widgets without boilerplate
- inject dependencies into the widget tree
- rebuild only widgets that depend on changed state
- use ChangeNotifier for reactive state
- consume state in flutter web and desktop apps

## When to choose
- you are building a Flutter app and want the officially recommended simple state management approach
- you want low-boilerplate InheritedWidget usage with devtool visibility
- you need granular rebuilds via Consumer/Selector

## When to avoid
- you prefer riverpod or bloc for more advanced state management patterns
- you are not building a Flutter/Dart project

## Facets
- artifact type: library
- maturity: stable
- function: state-management
- domain: mobile-development, frontend, cross-platform
- platform: cross-platform
- tags: flutter, dart, inherited-widget, dependency-injection, change-notifier, mobile, web-server

## Member repositories
- rrousselGit/provider (main) score 64

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:13.732315+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-29T17:59:32.980185+00:00, confidence not recorded.
  - homepage: https://pub.dev/packages/provider (fetched 2026-08-29T08:54:39.933159+00:00, sha be8f15eb6f31)
  - site_page: https://pub.dev/packages/provider/install (fetched 2026-08-29T08:54:39.946204+00:00, sha 74f64d294483)
  - site_page: https://pub.dev/documentation/provider/latest/provider/Provider/of.html (fetched 2026-08-29T08:54:39.948179+00:00, sha 026e908e0f4e)
  - site_page: https://pub.dev/documentation/provider/latest/provider/Consumer-class.html (fetched 2026-08-29T08:54:39.949923+00:00, sha 2744562fbbde)
  - site_page: https://pub.dev/documentation/provider/latest/provider/Selector-class.html (fetched 2026-08-29T08:54:39.951873+00:00, sha e32e556519a3)
  - site_page: https://pub.dev/documentation/provider/latest/provider/provider-library.html (fetched 2026-08-29T08:54:39.953773+00:00, sha 139fca94885e)
  - site_page: https://pub.dev/documentation/provider/latest/provider/InheritedProvider-class.html (fetched 2026-08-29T08:54:39.955763+00:00, sha 301508f7ac23)
  - site_page: https://pub.dev/documentation/provider/latest (fetched 2026-08-29T08:54:39.958652+00:00, sha 725a7999afdf)
  - site_page: https://pub.dev/packages/provider/changelog (fetched 2026-08-29T08:54:39.943255+00:00, sha fcbd9e03600c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
