Parse - Reads your dependency specifier (uv.lock, requirements.txt, pyproject.toml, or an existing environment).
Provision - Creates a temporary environment with uv and installs the dependencies. Skipped when analyzing a venv or the current environment directly.
Detect - Walks site-packages, reading each package's METADATA to identify licenses via PEP 639 License-Expression, the License field, trove classifiers, or user overrides.
Classify - Categorizes licenses as permissive, weak-copyleft, strong-copyleft, or network-copyleft using OSADL copyleft data.
Analyze - Checks pairwise compatibility using the OSADL matrix and flags conflicts. For OR expressions (for example MIT OR GPL-2.0), picks the most permissive alternative.
Recommend - Determines the most permissive outbound license that satisfies every dependency constraint.
Report - Presents findings as terminal output, Markdown, JSON, or third-party notices.