Skip to content
SPECIFICTION
Get listed

LuaRocks vs uv

LuaRocks

luarocks.org

uv

docs.astral.sh

Side by side

FigureLuaRocksuv
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYes—
Plans published11
Spec score · Package Managers8.5 (#23)8.9 (#4)
Dependency resolutionYesYes
Free planYesYes
Offline installationYesYes
Package formatsA rock is a zip file containing its rockspec and the files needed to install a module; rocks can be built for specific platforms.source distributions,wheels,requirements.txt,pylock.toml
PurposeLuaRocks is a package manager for Lua, and LuaRocks.org hosts rocks and rockspecs for Lua modules.uv is an extremely fast Python package and project manager written in Rust.
SecurityA 2019 security incident page says LuaRocks.org packages did not have signing and verification at the time of that incident.uv uses TLS with rustls and bundled Mozilla root certificates by default to verify HTTPS connections.
Supported platformsLinux,macOS,Windows,Unix,FreeBSD,CygwinmacOS,Linux,Windows,CPython,PyPy,Pyodide,GraalPy

Plans

LuaRocks

  • LuaRocksFree

LuaRocks pricing →

uv

  • uvFree

uv pricing →

In their own words

LuaRocks

LuaRocks is a package manager for Lua, with LuaRocks.org hosting rocks and rockspecs for Lua modules. Its command line uses manifests to find packages, choose a version and platform match, and install the corresponding files locally. Rocks carry version dependency information, which LuaRocks uses to install dependencies and load the appropriate module version. Package collections can be organized through the root manifest, per-user manifests, or custom manifests; development versions are kept in a separate manifest and are not installed by default. LuaRocks supports offline installation and platforms including Linux, macOS, Windows, Unix, FreeBSD, and Cygwin. Module authors can register and upload a rockspec, then publish rock files for a version; the current release supports the `luarocks upload` command. The application is described as pure Lua with no library dependencies, though its current release uses helper tools. LuaRocks is free, with a listed price of free.

Visit luarocks.org

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