Peek inside Python packages
Investigate metadata, dependencies, and known vulnerabilities.
peeq reads metadata, dependencies, files, versions, and vulnerability data from PyPI and private registries — without downloading, installing, or executing packages.
$ peeq info requests
Package: requests
Summary: Python HTTP for Humans.
Latest Version: 2.33.1 (2026-03-30)
Versions: 156
License: Apache-2.0
Registry: pypi.org
Documentation: https://requests.readthedocs.io
Source: https://github.com/psf/requests
--- Version 2.33.1 (latest) ---
Python: >=3.10
Why peeq
-
Inspect without installing
Query metadata, dependencies, and files from published artifacts — no install required.
-
Dependency analysis
Resolve dependency trees, detect conflicts, compare versions, and trace why packages appear.
-
Built for AI agents
Use the built-in agent skill and
--format agentfor structured, token-efficient output. -
Read package files
Inspect
pyproject.toml,LICENSE, and other files directly from a published distribution. -
Vulnerability scanning
Check packages against the OSV database for known security vulnerabilities.
-
Private registry support
Works with any PEP 503-compatible package index via
--index-url.
peeq vs pip / uv
| Task | pip / uv | peeq |
|---|---|---|
| View package metadata | Install, then pip show / uv pip show |
peeq info <pkg> |
| View dependencies | Download artifact, extract, parse metadata | peeq deps <pkg> |
| Compare deps across versions | Custom scripts | peeq deps <pkg> --version X --diff Y |
| Read a file from a package | Download, extract, navigate to file | peeq cat <pkg> pyproject.toml |
| Check for vulnerabilities | Separate vulnerability scanner | peeq vulns <pkg> |
| Resolve dependency tree | Trial install in isolated environment | peeq resolve "pkg>=1.0" |
| Check for conflicts | Custom scripts or trial-and-error installs | peeq conflicts "pkgA" "pkgB" |
| Trace why a package is needed | Manual dependency graph tracing | peeq why "requests>=2.31" -d urllib3 |