| name | polylith-libs |
| description | Inspect third-party libraries used per Polylith project with `poly libs`. Use when the user wants to see dependency usage, audit version drift across projects, find which projects use a given library, or compare library declarations vs. the lock file. Read-only — for a CI gate use `polylith-check` instead. |
Libs Skill
Quick command
uv run poly libs
Command prefix: If you do not know the package manager, list lock files with ls uv.lock poetry.lock pdm.lock 2>/dev/null (a pyproject.toml is always present, so it tells you nothing on its own). Use uv run poly (uv), poetry poly (poetry), pdm run poly (pdm), hatch run poly (hatch), or poly (activated venv). Examples below use uv run.
poly libs reports; poly check fails the build. Use libs for inspection, check for CI (load polylith-check).
Prerequisites
- A Polylith workspace with at least one project.
- A lock file at the root (
uv.lock, poetry.lock, or pdm.lock).
Command reference
| Option | Default | Description |
|---|
--strict | false | Stricter matching of names and versions across projects. |
--directory | cwd | Limit output to projects whose path matches this directory. |
--alias | — | Comma-separated import_name=package_name aliases. |
--short | false | Compact view — useful for wide workspaces. |
--save | false | Persist the report to a file under the workspace's output dir. |
Examples
uv run poly libs
uv run poly libs --strict
uv run poly libs --short
How to read it
- Rows are third-party libraries; columns are projects.
✔ = the library is used by that project.
- A library used by multiple projects with different versions = version drift. Fix by aligning versions in the relevant project
pyproject.tomls, or by relying on a central lock file (uv workspaces).
Notes for the agent
poly libs is read-only — it never modifies pyproject.toml or the lock file.