Python License Checker

Paste your requirements.txt, pyproject.toml or Pipfile and see the license of every Python package, with copyleft and missing licenses flagged. Everything runs in your browser and you can export the list to CSV or Markdown.

Optional: poetry.lock, uv.lock, pdm.lock or Pipfile.lock for the exact versions.

Files are processed in your browser. Only package names and versions are sent to PyPI to look up their licenses.

How the Python license check works

The checker reads the dependencies from requirements.txt, pyproject.toml (PEP 621, Poetry or uv) or Pipfile and looks up each package on PyPI: its license, summary and homepage. The license comes from the license expression, the license field or the package classifiers. With a lock file it uses the exact versions, without one the version from the file or the latest published one.

It lists the direct dependencies. Development groups and dev-packages are left out unless you include them.

Frequently asked questions

How do I list the licenses of Python packages?

Paste requirements.txt, pyproject.toml or Pipfile into the checker. It looks up each package on PyPI, shows its license and lets you export the list to CSV or Markdown.

Where does a Python package declare its license?

Newer packages use a license expression such as MIT or Apache-2.0. Older ones use a free-text license field or classifiers like "License :: OSI Approved :: MIT License". The checker reads all three and converts classifiers to SPDX identifiers where it can.

Is my requirements file uploaded anywhere?

No. The file is processed in your browser. Only package names and versions are sent to PyPI to look up their licenses.