<!DOCTYPE html>
<html lang="en-us"><head><script src="https://www.googletagmanager.com/gtm.js?id=GTM-MX6DBN9" async="async"></script><script src="/static/hash-ts5vdvva/js/gtm.js" async="async"></script><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="twitter:card" content="summary"/><meta name="twitter:site" content="@dart_lang"/><meta name="twitter:description" content="Pub is the package manager for the Dart programming language, containing reusable libraries &amp; packages for Flutter and general Dart programs."/><meta name="twitter:image" content="https://pub.dev/static/hash-ts5vdvva/img/pub-dev-icon-cover-image.png"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Dart packages"/><meta property="og:title" content="The official repository for Dart and Flutter packages."/><meta property="og:description" content="Pub is the package manager for the Dart programming language, containing reusable libraries &amp; packages for Flutter and general Dart programs."/><meta property="og:image" content="https://pub.dev/static/hash-ts5vdvva/img/pub-dev-icon-cover-image.png"/><meta property="og:url" content="https://pub.dev/"/><title>The official repository for Dart and Flutter packages.</title><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&amp;family=Google+Sans+Display:wght@400&amp;family=Google+Sans+Text:wght@400;500;700&amp;family=Google+Sans+Mono:wght@400;700&amp;display=swap"/><link rel="shortcut icon" href="/favicon.ico?hash=nk4nss8c7444fg0chird9erqef2vkhb8"/><meta rel="apple-touch-icon" href="/static/hash-ts5vdvva/img/apple-touch-icon.png"/><meta rel="apple-touch-icon-precomposed" href="/static/hash-ts5vdvva/img/apple-touch-icon.png"/><link rel="stylesheet" href="https://www.gstatic.com/glue/v25_0/ccb.min.css"/><link rel="search" type="application/opensearchdescription+xml" title="Dart packages" href="/osd.xml"/><link rel="canonical" href="https://pub.dev/"/><meta name="description" content="Pub is the package manager for the Dart programming language, containing reusable libraries &amp; packages for Flutter and general Dart programs."/><link rel="alternate" type="application/atom+xml" title="Recently published packages on pub.dev" href="/feed.atom"/><link rel="stylesheet" type="text/css" href="/static/hash-ts5vdvva/css/style.css"/><script src="/static/hash-ts5vdvva/js/script.dart.js" defer="defer"></script><script src="https://www.gstatic.com/brandstudio/kato/cookie_choice_component/cookie_consent_bar.v3.js" defer="defer" data-autoload-cookie-consent-bar="true"></script><link rel="preload" href="/static/hash-ts5vdvva/img/hero-bg-static.svg" as="image"/><link rel="preload" href="/static/hash-ts5vdvva/img/square-bg-full-2x.webp" as="image"/><script type="application/ld+json">{"@context":"https\u003a\u002f\u002fschema.org","@type":"WebSite","url":"https\u003a\u002f\u002fpub.dev\u002f","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https\u003a\u002f\u002fpub.dev\u002fpackages\u003fq\u003d\u007bsearch\u005fterm\u005fstring\u007d"},"query-input":"required name\u003dsearch\u005fterm\u005fstring"}}</script></head><body class="page-landing light-theme"><script src="/static/hash-ts5vdvva/js/dark-init.js"></script><noscript><iframe class="-gtm-iframe" src="https://www.googletagmanager.com/ns.html?id=GTM-MX6DBN9" height="0" width="0"></iframe></noscript><div class="site-header pub-dark-bg"><button class="hamburger" aria-label="menu toggle"></button><div class="site-header-space"></div><div class="site-header-mask"></div><nav class="site-header-nav scroll-container"><div class="nav-login-container"><button id="-account-login" class="nav-main-button link">Sign in</button></div><div class="nav-container nav-help-container hoverable"><button class="nav-main-button">Help</button><div class="nav-hover-popup"><div class="nav-table-columns"><div class="nav-table-column"><h3>pub.dev</h3><a class="nav-link" href="/help/search" rel="noopener" target="_blank">Searching for packages</a><a class="nav-link" href="/help/scoring" rel="noopener" target="_blank">Package scoring and pub points</a></div><div class="nav-table-column"><h3>Flutter</h3><a class="nav-link" href="https://flutter.dev/using-packages/" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://flutter.dev/developing-packages/" rel="noopener" target="_blank">Developing packages and plugins</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div><div class="nav-table-column"><h3>Dart</h3><a class="nav-link" href="https://dart.dev/guides/packages" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">pub.dev <img class="foldable-icon" src="/static/hash-ts5vdvva/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="/help/search" rel="noopener" target="_blank">Searching for packages</a><a class="nav-link" href="/help/scoring" rel="noopener" target="_blank">Package scoring and pub points</a></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">Flutter <img class="foldable-icon" src="/static/hash-ts5vdvva/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="https://flutter.dev/using-packages/" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://flutter.dev/developing-packages/" rel="noopener" target="_blank">Developing packages and plugins</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">Dart <img class="foldable-icon" src="/static/hash-ts5vdvva/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="https://dart.dev/guides/packages" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div></nav><button class="-pub-theme-toggle" aria-label="light/dark theme toggle"></button></div><div id="banner-container"></div><div class="_banner-bg pub-dark-bg"><div class="container home-banner"><h2 class="_visuallyhidden">pub.dev package manager</h2><img class="logo" src="/static/hash-ts5vdvva/img/pub-dev-logo.svg" alt="" width="328" height="70" role="presentation"/><form class="search-bar banner-item" action="/packages" autocomplete="off"><input class="input" type="search" name="q" placeholder="Search packages" autocomplete="off" autofocus="autofocus" title="Search" data-widget="completion" data-completion-src="/api/search-input-completion-data" data-completion-class="search-completion"/><span class="icon"></span></form><p class="text">The official package repository for <a href="https://dart.dev/" rel="noopener" target="_blank">Dart</a> and <a href="https://flutter.dev/" rel="noopener" target="_blank">Flutter</a> apps.</p><img src="/static/hash-ts5vdvva/img/supported-by-google-2x.png" alt="Supported by Google" width="218" height="36"/></div></div><main class="landing-main"><div class="home-block home-block-ff"><div class="home-block-content"><h1 class="home-block-title">Flutter Favorites</h1><p class="home-block-context-info">Some of the packages that demonstrate the <a href="https://flutter.dev/docs/development/packages-and-plugins/favorites" rel="noopener" target="_blank">highest levels of quality</a>, selected by the Flutter Ecosystem Committee</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/json_serializable" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">json_serializable</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Automatically generate code for converting to and from JSON by annotating Dart classes.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/google.dev" data-ga-click-event="landing-flutter-favorites-card-publisher">google.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flame" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flame</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A minimalist Flutter game engine, provides a nice set of somewhat independent modules you can choose from.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/flame-engine.org" data-ga-click-event="landing-flutter-favorites-card-publisher">flame-engine.org</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/convex_bottom_bar" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">convex_bottom_bar</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Flutter package which implements a ConvexAppBar to show a convex tab in the bottom bar. Theming supported.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/hacktons.cn" data-ga-click-event="landing-flutter-favorites-card-publisher">hacktons.cn</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/firebase_auth" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">firebase_auth</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for Firebase Auth, enabling authentication using passwords, phone numbers and identity providers like Google, Facebook and Twitter.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/firebase.google.com" data-ga-click-event="landing-flutter-favorites-card-publisher">firebase.google.com</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?q=is%3Aflutter-favorite" rel="nofollow" title="Search Flutter Favorites packages" data-ga-click-event="landing-flutter-favorites-view-all">View all</a></div></div></div><div class="home-block home-block-mp"><div class="home-block-image"><img src="/static/hash-ts5vdvva/img/landing-trending.webp" alt="" width="351" height="240" loading="lazy" role="presentation"/></div><div class="home-block-content"><h1 class="home-block-title">Trending packages</h1><p class="home-block-context-info">Top trending packages in the last 30 days</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/serverpod_argon2" data-ga-click-event="landing-most-trending-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">serverpod_argon2</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Argon2 password hashing (argon2id, argon2i, argon2d) backed by the Zig standard library. Ships prebuilt native libraries for Dart and Flutter and a WebAssembly module for the web, so no local toolchai [...]</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/serverpod.dev" data-ga-click-event="landing-most-trending-card-publisher">serverpod.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/insert_affiliate_flutter_sdk" data-ga-click-event="landing-most-trending-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">insert_affiliate_flutter_sdk</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Flutter SDK for integrating affiliate tracking and in-app purchases for the Insert Affiliate Platform.</p></div><div class="mini-list-item-footer"></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/http_client_interceptor" data-ga-click-event="landing-most-trending-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">http_client_interceptor</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Dart package for intercepting and modifying HTTP requests and responses,  useful for logging, authentication, and error handling.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dasralph.de" data-ga-click-event="landing-most-trending-card-publisher">dasralph.de</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/http_client_logger" data-ga-click-event="landing-most-trending-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">http_client_logger</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Dart package that seamlessly adds HTTP traffic logging to  your Dart or Flutter project.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dasralph.de" data-ga-click-event="landing-most-trending-card-publisher">dasralph.de</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/inject_flutter" data-ga-click-event="landing-most-trending-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">inject_flutter</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter integration for inject_annotation. Provides ViewModelFactory and ViewModelBuilder to inject ViewModels into widgets with automatic lifecycle management, plus SubcomponentBuilder to own a @subc [...]</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dasralph.de" data-ga-click-event="landing-most-trending-card-publisher">dasralph.de</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/inject_generator" data-ga-click-event="landing-most-trending-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">inject_generator</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Source code generator for inject_annotation. Reads @inject, @component, and @module annotations and generates fully wired dependency components at build time.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dasralph.de" data-ga-click-event="landing-most-trending-card-publisher">dasralph.de</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?sort=trending" rel="nofollow" title="Search trending packages" data-ga-click-event="landing-trending-view-all">View all</a></div></div></div><div class="home-block home-block-tf"><div class="home-block-content"><h1 class="home-block-title">Top Flutter packages</h1><p class="home-block-context-info">Some of the top packages that extend Flutter with new features</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/url_launcher" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">url_launcher</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/flutter.dev" data-ga-click-event="landing-top-flutter-card-publisher">flutter.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/http" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">http</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A composable, multi-platform, Future-based API for HTTP requests.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dart.dev" data-ga-click-event="landing-top-flutter-card-publisher">dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/smooth_page_indicator" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">smooth_page_indicator</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Customizable animated page indicator with a set of built-in effects.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/codeness.ly" data-ga-click-event="landing-top-flutter-card-publisher">codeness.ly</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/confetti" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">confetti</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Blast colorful confetti all over the screen. Celebrate in app achievements with style. Control the velocity, angle, gravity and amount of confetti.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/funwith.app" data-ga-click-event="landing-top-flutter-card-publisher">funwith.app</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/badges" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">badges</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A package for creating badges. Badges can be used for an additional marker for any widget, e.g. show a number of items in a shopping cart.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/yako.dev" data-ga-click-event="landing-top-flutter-card-publisher">yako.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/json_serializable" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">json_serializable</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Automatically generate code for converting to and from JSON by annotating Dart classes.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/google.dev" data-ga-click-event="landing-top-flutter-card-publisher">google.dev</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?q=sdk%3Aflutter" rel="nofollow" title="Search Flutter packages" data-ga-click-event="landing-top-flutter-view-all">View all</a></div></div><div class="home-block-image"><img src="/static/hash-ts5vdvva/img/landing-02.webp" alt="" width="306" height="240" role="presentation"/></div></div><div class="home-block home-block-td"><div class="home-block-image"><img src="/static/hash-ts5vdvva/img/landing-03.webp" alt="" width="370" height="240" loading="lazy" role="presentation"/></div><div class="home-block-content"><h1 class="home-block-title">Top Dart packages</h1><p class="home-block-context-info">Some of the top packages for any Dart-based app or program</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/intl" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">intl</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Contains code to deal with internationalized&#47;localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dart.dev" data-ga-click-event="landing-top-dart-card-publisher">dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/jwt_decoder" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">jwt_decoder</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">This small library helps you to decode Json Web Tokens, you can also know if a JWT is already expired.</p></div><div class="mini-list-item-footer"></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/grpc" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">grpc</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Dart implementation of gRPC, a high performance, open-source universal RPC framework.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dart.dev" data-ga-click-event="landing-top-dart-card-publisher">dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/ffi" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">ffi</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utilities for working with Foreign Function Interface (FFI) code.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dart.dev" data-ga-click-event="landing-top-dart-card-publisher">dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/email_validator" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">email_validator</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A simple (but correct) dart class for validating email addresses</p></div><div class="mini-list-item-footer"></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/stream_transform" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">stream_transform</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A collection of utilities to transform and manipulate streams.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-ts5vdvva/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tools.dart.dev" data-ga-click-event="landing-top-dart-card-publisher">tools.dart.dev</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?q=sdk%3Adart" rel="nofollow" title="Search Dart packages" data-ga-click-event="landing-top-dart-view-all">View all</a></div></div></div><div class="home-block home-block-pow"><div class="home-block-content"><h1 class="home-block-title">Package of the Week</h1><p class="home-block-context-info">Package of the Week is a series of quick, animated videos, each of which covers a particular package</p><div class="landing-pow-list"><div class="pow-video"><a href="https://youtube.com/watch?v=tSWu58CX3Ic&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Pub.dev → https://goo.gle/4r6edLi " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/tSWu58CX3Ic/hqdefault.jpg" alt="dart_mcp (Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-ts5vdvva/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-ts5vdvva/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div><div class="pow-video"><a href="https://youtube.com/watch?v=aPUZqab-07c&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Integrate camera features into your Flutter apps for iOS, Android, and Web. The `camera` package lets you display live previews, capture photos, record videos, and access image streams directly from Dart." data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/aPUZqab-07c/hqdefault.jpg" alt="camera (Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-ts5vdvva/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-ts5vdvva/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div><div class="pow-video"><a href="https://youtube.com/watch?v=Fq5zNPJufD0&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Learn more about → https://goo.gle/pub-dev-sensors_plus" data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/Fq5zNPJufD0/hqdefault.jpg" alt="sensors_plus (Flutter Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-ts5vdvva/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-ts5vdvva/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div><div class="pow-video"><a href="https://youtube.com/watch?v=VdkRy3yZiPo&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Learn more about flutter_rating_bar → https://goo.gle/3w4KOaQ " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/VdkRy3yZiPo/hqdefault.jpg" alt="flutter_rating_bar (Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-ts5vdvva/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-ts5vdvva/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="https://www.youtube.com/playlist?list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener nofollow" target="_blank" title="Visit the YouTube playlist" data-ga-click-event="package-of-the-week-playlist">View playlist</a></div></div></div></main><footer class="site-footer pub-dark-bg"><a class="link" href="https://dart.dev/">Dart language</a><a class="link sep" href="/policy">Policy</a><a class="link sep" href="https://www.google.com/intl/en/policies/terms/">Terms</a><a class="link sep" href="https://developers.google.com/terms/">API Terms</a><a class="link sep" href="/security">Security</a><a class="link sep" href="https://www.google.com/intl/en/policies/privacy/">Privacy</a><a class="link sep" href="/help">Help</a><a class="link icon sep" href="/feed.atom"><img class="inline-icon" src="/static/hash-ts5vdvva/img/rss-feed-icon.svg" alt="RSS" width="20" height="20" title="RSS/atom feed"/></a><a class="link icon github_issue" href="https://github.com/dart-lang/pub-dev/issues/new"><img class="inline-icon" src="/static/hash-ts5vdvva/img/bug-report-white-96px.png" alt="bug report" width="20" height="20" title="Report an issue with this site"/></a></footer></body></html>