CINXE.COM
The official repository for Dart and Flutter packages.
<!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-j60jq2j3/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 & packages for Flutter and general Dart programs."/><meta name="twitter:image" content="https://pub.dev/static/hash-j60jq2j3/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 & packages for Flutter and general Dart programs."/><meta property="og:image" content="https://pub.dev/static/hash-j60jq2j3/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&family=Google+Sans+Display:wght@400&family=Google+Sans+Text:wght@400;500;700&family=Google+Sans+Mono:wght@400;700&display=swap"/><link rel="shortcut icon" href="/favicon.ico?hash=nk4nss8c7444fg0chird9erqef2vkhb8"/><meta rel="apple-touch-icon" href="/static/hash-j60jq2j3/img/apple-touch-icon.png"/><meta rel="apple-touch-icon-precomposed" href="/static/hash-j60jq2j3/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 & packages for Flutter and general Dart programs."/><link rel="alternate" type="application/atom+xml" title="Updated Packages Feed for Pub" href="/feed.atom"/><link rel="stylesheet" type="text/css" href="/static/hash-j60jq2j3/material/bundle/styles.css"/><link rel="stylesheet" type="text/css" href="/static/hash-j60jq2j3/css/style.css"/><script src="/static/hash-j60jq2j3/material/bundle/script.min.js" defer="defer"></script><script src="/static/hash-j60jq2j3/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-j60jq2j3/img/hero-bg-static.svg" as="image"/><link rel="preload" href="/static/hash-j60jq2j3/img/square-bg-full-2x.webp" as="image"/></head><body class="page-landing light-theme"><script src="/static/hash-j60jq2j3/js/dark-init.js"></script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MX6DBN9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div class="site-header"><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-j60jq2j3/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-j60jq2j3/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-j60jq2j3/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"><div class="container home-banner"><h2 class="_visuallyhidden">pub.dev package manager</h2><img class="logo" src="/static/hash-j60jq2j3/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-j60jq2j3/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/infinite_scroll_pagination" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">infinite_scroll_pagination</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Lazily load and display pages of items as the user scrolls down your screen.</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-j60jq2j3/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/edsonbueno.com" data-ga-click-event="landing-flutter-favorites-card-publisher">edsonbueno.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/auto_size_text" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">auto_size_text</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter widget that automatically resizes text to fit perfectly within its bounds.</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-j60jq2j3/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/simc.dev" data-ga-click-event="landing-flutter-favorites-card-publisher">simc.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flutter_slidable" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_slidable</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Flutter implementation of slidable list item with directional slide actions that can be dismissed.</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-j60jq2j3/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/romainrastel.com" data-ga-click-event="landing-flutter-favorites-card-publisher">romainrastel.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/cloud_functions" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">cloud_functions</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Flutter plugin allowing you to use Firebase Cloud Functions.</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-j60jq2j3/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-j60jq2j3/img/landing-01.webp" alt="" width="351" height="240" loading="lazy" role="presentation"/></div><div class="home-block-content"><h1 class="home-block-title">Most popular packages</h1><p class="home-block-context-info">Some of the most downloaded packages over the past 30 days</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/archive" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">archive</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Provides encoders and decoders for various archive and compression formats such as zip, tar, bzip2, gzip, and zlib.</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-j60jq2j3/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/loki3d.com" data-ga-click-event="landing-most-popular-card-publisher">loki3d.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/mime" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">mime</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utilities for handling media (MIME) types, including determining a type from a file extension and file contents.</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-j60jq2j3/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-most-popular-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/watcher" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">watcher</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A file system watcher. It monitors changes to contents of directories and sends notifications when files have been added, removed, or modified.</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-j60jq2j3/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-most-popular-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/win32" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">win32</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Access common Win32 APIs directly from Dart using FFI — no C required! </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-j60jq2j3/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/halildurmus.dev" data-ga-click-event="landing-most-popular-card-publisher">halildurmus.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/convert" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">convert</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utilities for converting between data representations. Provides a number of Sink, Codec, Decoder, and Encoder types.</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-j60jq2j3/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-most-popular-card-publisher">dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/cli_util" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">cli_util</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A library to help in building Dart command-line apps.</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-j60jq2j3/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-most-popular-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?sort=downloads" rel="nofollow" title="Search popular packages" data-ga-click-event="landing-most-popular-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/sqflite" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">sqflite</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for SQLite, a self-contained, high-reliability, embedded, SQL database engine.</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-j60jq2j3/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/tekartik.com" data-ga-click-event="landing-top-flutter-card-publisher">tekartik.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/after_layout" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">after_layout</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Execute code after the first layout of your widget has been performed, i.e. after the first frame has been displayed.</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-j60jq2j3/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/fluttercommunity.dev" data-ga-click-event="landing-top-flutter-card-publisher">fluttercommunity.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/bloc" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">bloc</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A predictable state management library that helps implement the BLoC (Business Logic Component) design pattern.</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-j60jq2j3/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/bloclibrary.dev" data-ga-click-event="landing-top-flutter-card-publisher">bloclibrary.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/retry" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">retry</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utility for wrapping an asynchronous function in automatic retry logic with exponential back-off, useful when making requests over network.</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-j60jq2j3/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 class="mini-list-item"><a class="mini-list-item-title" href="/packages/mime" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">mime</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utilities for handling media (MIME) types, including determining a type from a file extension and file contents.</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-j60jq2j3/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-flutter-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/bloc_test" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">bloc_test</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A testing library which makes it easy to test blocs. Built to be used with the bloc state management package.</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-j60jq2j3/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/bloclibrary.dev" data-ga-click-event="landing-top-flutter-card-publisher">bloclibrary.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-j60jq2j3/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-j60jq2j3/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/bloc" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">bloc</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A predictable state management library that helps implement the BLoC (Business Logic Component) design pattern.</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-j60jq2j3/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/bloclibrary.dev" data-ga-click-event="landing-top-dart-card-publisher">bloclibrary.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/pub_semver" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">pub_semver</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Versions and version constraints implementing pub's versioning policy. This is very similar to vanilla semver, with a few corner cases.</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-j60jq2j3/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 class="mini-list-item"><a class="mini-list-item-title" href="/packages/formz" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">formz</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A unified form representation in Dart which aims to simplify form representation and validation in a generic way.</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-j60jq2j3/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/verygood.ventures" data-ga-click-event="landing-top-dart-card-publisher">verygood.ventures</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/supabase" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">supabase</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A dart client for Supabase. This client makes it simple for developers to build secure and scalable products.</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-j60jq2j3/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/supabase.io" data-ga-click-event="landing-top-dart-card-publisher">supabase.io</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/postgres" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">postgres</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">PostgreSQL database driver. Supports binary protocol, connection pooling and statement reuse.</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-j60jq2j3/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/agilord.com" data-ga-click-event="landing-top-dart-card-publisher">agilord.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/json_path" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">json_path</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Implementation of RFC 9535 - JSONPath: Query Expressions for JSON. Reads and writes values in parsed JSON objects using queries like `$.store.book[2].price`.</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-j60jq2j3/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/karapetov.com" data-ga-click-event="landing-top-dart-card-publisher">karapetov.com</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=Jxw6FaA0j3I&list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Display a video from the internet, or the user's device, in your Flutter app in a few lines of code with the video_player package." data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/Jxw6FaA0j3I/hqdefault.jpg" alt="video_player (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-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/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=sjPSx6-iCao&list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Use the Mix package to style plain widgets in your Flutter apps." data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/sjPSx6-iCao/hqdefault.jpg" alt="Mix (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-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/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=8Vzv2CdbEY0&list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Learn more about google_fonts → https://goo.gle/37Q0zJB " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/8Vzv2CdbEY0/hqdefault.jpg" alt="google_fonts (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-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/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=qEZf2q4W20g&list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="When you see your Dart code underlined in squigglies, it means that the Dart analyzer has spotted possible improvements in your code, called lints. When you use flutter create to create a new project, it automatically includes a package called flutter_lints, a ruleset intended to help you follow best practices as you write your Flutter app. " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/qEZf2q4W20g/hqdefault.jpg" alt="flutter_lints (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-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/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"><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-j60jq2j3/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-j60jq2j3/img/bug-report-white-96px.png" alt="bug report" width="20" height="20" title="Report an issue with this site"/></a></footer><script type="application/ld+json">{"@context":"http\u003a\u002f\u002fschema.org","@type":"WebSite","url":"https\u003a\u002f\u002fpub.dev\u002f","potentialAction":{"@type":"SearchAction","target":"https\u003a\u002f\u002fpub.dev\u002fpackages\u003fq\u003d\u007bsearch\u005fterm\u005fstring\u007d","query-input":"required name\u003dsearch\u005fterm\u005fstring"}}</script></body></html>