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/just_audio" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">just_audio</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A feature-rich audio player for Flutter. Loop, clip and concatenate any sound from any source (asset/file/URL/stream) in a variety of audio formats with gapless playback.</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/ryanheise.com" data-ga-click-event="landing-flutter-favorites-card-publisher">ryanheise.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flutter_local_notifications" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_local_notifications</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform.</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/dexterx.dev" data-ga-click-event="landing-flutter-favorites-card-publisher">dexterx.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/fpdart" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">fpdart</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Functional programming in Dart and Flutter. All the main functional programming types and patterns fully documented, tested, and with examples. </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/sandromaglione.com" data-ga-click-event="landing-flutter-favorites-card-publisher">sandromaglione.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/bottom_navy_bar" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">bottom_navy_bar</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A beautiful and animated bottom navigation. The navigation bar uses your current theme, but you are free to customize it.</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/pedromassango.dev" data-ga-click-event="landing-flutter-favorites-card-publisher">pedromassango.dev</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/boolean_selector" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">boolean_selector</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A flexible syntax for boolean expressions, based on a simplified version of Dart's expression syntax.</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/package_config" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">package_config</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Support for reading and writing Dart Package Configuration files.</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/vm_service" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">vm_service</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A library to communicate with a service implementing the Dart VM service protocol.</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/timing" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">timing</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A simple package for tracking the performance of synchronous and asynchronous actions.</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/freezed_annotation" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">freezed_annotation</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Annotations for the freezed code-generator. This package does nothing without freezed too. </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/dash-overflow.net" data-ga-click-event="landing-most-popular-card-publisher">dash-overflow.net</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/flutter_bloc" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_bloc</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter Widgets that make it easy to implement the BLoC (Business Logic Component) design pattern. 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 class="mini-list-item"><a class="mini-list-item-title" href="/packages/provider" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">provider</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A wrapper around InheritedWidget to make them easier to use and more reusable.</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/dash-overflow.net" data-ga-click-event="landing-top-flutter-card-publisher">dash-overflow.net</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/firebase_analytics" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">firebase_analytics</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for Google Analytics for Firebase, an app measurement solution that provides insight on app usage and user engagement on Android and iOS.</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-top-flutter-card-publisher">firebase.google.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/stack_trace" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">stack_trace</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A package for manipulating stack traces and printing them readably.</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/table_calendar" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">table_calendar</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Highly customizable, feature-packed calendar widget for Flutter.</p></div><div class="mini-list-item-footer"></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/win32" data-ga-click-event="landing-top-dart-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-top-dart-card-publisher">halildurmus.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-dart-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-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-dart-card-publisher">google.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/bloc_concurrency" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">bloc_concurrency</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Custom event transformers inspired by ember concurrency. 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-dart-card-publisher">bloclibrary.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/decimal" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">decimal</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">The decimal package allows you to deal with decimal numbers without losing precision. </p></div><div class="mini-list-item-footer"></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/dartx" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">dartx</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Superpowers for Dart. Collection of useful static extension methods.</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-top-dart-card-publisher">simc.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/talker" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">talker</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Advanced error handler and logger package for flutter and dart. App monitoring, logs history, report sharing, custom logs, and etc.</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/frezycode.com" data-ga-click-event="landing-top-dart-card-publisher">frezycode.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=ebYDOadpPcI&list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="firebase_vertexi on pub.dev → https://goo.gle/3z3Im8P " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/ebYDOadpPcI/hqdefault.jpg" alt="firebase_vertexai (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=VdkRy3yZiPo&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-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=65qbtJMltVk&list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Sometimes to provide the best possible user experience, you need to know the GPS location of their device. The Location package allows you to obtain the current geographic location of the device and listen for changes. You can use this data to display maps, calculate distances, determine the direction the device is facing, and more!" data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/65qbtJMltVk/hqdefault.jpg" alt="Location (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-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>