Skip to content
SPECIFICTION
Get listed

Dart pub vs uv

Dart pub

dart.dev

uv

docs.astral.sh

Side by side

FigureDart pubuv
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Plans published01
Spec score · Package Managers7.8 (#46)8.9 (#4)
Dependency resolutionPub manages dependency versions to find versions compatible with each other and with the Dart SDK version.Yes
Free planYesYes
Lockfile supportYesYes
Offline installationYesYes
Package formatsDart packagessource distributions,wheels,requirements.txt,pylock.toml
Private registry authYesYes
PurposePub is Dart’s package manager for managing package dependencies.uv is an extremely fast Python package and project manager written in Rust.
Supported platformsWindows,Linux,macOSmacOS,Linux,Windows,CPython,PyPy,Pyodide,GraalPy
Workspace supportYesYes

Plans

Dart pub

No plans published.

Dart pub pricing →

uv

  • uvFree

uv pricing →

In their own words

Dart pub

Dart pub is Dart’s package manager for finding and managing shared libraries and tools. It resolves dependency versions compatible with one another and the installed Dart SDK, and records selected versions in a lockfile so application teams can keep dependency versions consistent. Packages may come from pub.dev, other hosted repositories, Git repositories, local paths, or supported SDKs. Developers can use pub through the dart or Flutter command-line tools, and most Dart-savvy IDEs support package workflows. The `dart pub publish` command uploads packages to pub.dev. Before publishing, pub checks for possible secret leaks using limited patterns and may warn or refuse publication; packages published to pub.dev cannot have Git or local path dependencies in their pubspec. Security advisories draw on the GitHub Advisory Database for Dart and Flutter packages. Pub can often resolve dependencies offline from its shared cache. It supports Windows, Linux, and macOS, and is free and open source.

Visit dart.dev

uv

uv is a Python package and project manager for Linux, macOS, and Windows. Written in Rust, it manages dependencies and environments, with lockfiles and workspaces, and can install, list, pin, or uninstall Python versions. It also runs scripts with dependencies and runs or installs command-line tools from Python packages. Its pip-compatible interface is intended to cover work done by tools such as pip, pip-tools, pipx, poetry, pyenv, twine, and virtualenv, though its commands do not exactly match those tools. The documentation describes uv as 10–100x faster than pip. It supports source distributions, wheels, requirements.txt, and pylock.toml, as well as offline installation and private registry authentication. For package selection, its default first-index strategy limits candidates to the first index where a package is found. Credentials are not stored in uv.lock, but uv currently stores them in a plaintext file; native system secret storage is an experimental preview. The free plan is free.

Visit docs.astral.sh