We support the following search expressions:


For each package, this site displays an overall score, calculated from scores for the package's popularity, health, and maintenance.


The popularity score—representing how often a package is used—is derived from download statistics. Although this score is based on actual download counts, it compensates for automated tools such as continuous builds that fetch the package on each change request.

How can you improve your popularity score?

Create useful packages that others need and love to use.


The code health score is based on static analysis of the package with dartanalyzer.

How can you improve your health score?

Use strong-mode checks and linter rules, and make sure you fix all warnings and errors before publishing. Here's an example of specifying checks and rules using analysis_options.yaml:

# https://www.dartlang.org/guides/language/analysis-options
  strong-mode: true

# Source of linter options:
# http://dart-lang.github.io/linter/lints/options/options.html
    - camel_case_types
    - hash_and_equals
    - iterable_contains_unrelated_type
    - list_remove_unrelated_type
    - unrelated_type_equality_checks
    - valid_regexps


The maintenance score reflects how tidy and up-to-date a package is. Here are some of the factors that influence this score:

How can you improve your maintenance score?

Click your package's overall score to see the Analysis page, which has suggestions for improving the package's score. You can find the overall score either near the top of the package's page or to the right of your package in any listing on this site. To get suggestions before publishing, run pana manually.


Default listings use the overall score to sort packages. When a user searches, the sort order is based on both the overall score and the text match relevancy.

Each package's overall score is visible at the side of the results, regardless of the sort order.