puro 0.5.0 copy "puro: ^0.5.0" to clipboard
puro: ^0.5.0 copied to clipboard

An experimental tool for managing Flutter versions.

About #

Puro is an experimental tool for installing and managing Flutter versions.

Quick start #

To install puro, run:

dart pub global activate puro

Once installed you can create and use an environment:

puro create my_env stable
puro use my_env

And that's it! Your IDE will be automatically configured to use the new environment.

Performance #

Puro implements a few optimizations that make installing Flutter as fast as possible. First-time installations are 20% faster while improving subsequent installations by a whopping 50-95%:

This also translates into much lower network usage:

How it works #

Puro achieves these performance gains with a few smart optimizations:

  • Parallel git clone and engine download
  • Global cache for git history
  • Global cache for engine versions

With other approaches, each flutter repository is in its own folder, requiring you to download and store the git history, engine, and framework of each version:

Puro implements a technology similar to GitLab's object deduplication to avoid downloading the same git objects over and over again. It also uses symlinks to share the same engine version between multiple installs: