Investigate Python package metadata, dependencies, files, versions, and vulnerability data from published artifacts on PyPI and private registries — without installing packages.
Provides structured, token-efficient output for AI agents alongside rich terminal output for human users.
[!NOTE] Transparency note: This project is developed with heavy use of AI coding agents.
Although most code is AI-generated, architecture and design are human-guided and reviewed, and all changes are tested.
Features
- 🔍 Inspect without installing — query metadata, dependencies, and files from published artifacts — no install required.
- 🌳 Dependency analysis — resolve dependency trees, detect conflicts, and compare versions.
- 📄 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.
- 🤖 Built for AI agents — built-in agent skill for tool discovery and
--format agentfor structured, token-efficient output. - 🔒 Private registry support — works with any PEP 503-compatible package index via
--index-url. - ⚡ Persistent caching — avoid redundant network requests with an SQLite-backed local cache.
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 |
Installation
Requires Python 3.10+.
# Install globally with uv (recommended)
uv tool install peeq
# Install with pip
pip install peeq
Zero-install with uvx
If you have uv installed, you can also run peeq directly without installing it.
For example:
uvx peeq info requests
[!IMPORTANT] uv is the recommended installation method.
Additionally, commands likeresolve,conflicts, andwhyutilizeuvand require it to be installed. See the installation docs for details.
Commands
| Command | Description |
|---|---|
info |
Show package metadata with optional sections |
versions |
List available versions with filtering |
deps |
Show dependencies with diff and wheel tag support |
artifacts |
List distribution artifacts (wheels, sdists) for a version |
cat |
Print a file from inside a package archive |
ls |
List paths inside a package archive |
download |
Download a package archive |
vulns |
Check for known vulnerabilities (OSV) |
resolve |
Resolve full dependency tree |
conflicts |
Check if packages can coexist |
why |
Trace why a package is in the dependency tree |
cache |
Cache management (info, clear, check, dump) |
config |
Configuration management (file path) |
skill |
Show agent skill instructions |
Agent Skill
peeq includes a built-in Agent Skill — structured instructions that teach AI agents how to use peeq for package research.
Install
Download SKILL.md and place it in a peeq/ directory within your agent platform's skill directory.
See the skill documentation for integration options.
[!TIP] Agents can also load peeq's skill by running
peeq skill showdirectly.
Contributing
See CONTRIBUTING.md for development setup, coding standards, and testing guidelines.
License
Release files for peeq 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| peeq-0.2.0.tar.gz | 136.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| peeq-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 294.2 kB
Release files / peeq-0.2.0.tar.gz
| Download URL | peeq-0.2.0.tar.gz |
|---|---|
| Size | 136.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2ab007b316eb722a4979a6a24a70895a891e67a6ecde56fcac550e74543d6f7
|
|
BLAKE2b-256 checksum How to use checksums |
7b54e9555dc556947a801d308a458ef90013da9165472e7f5977e389cb4b3478
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 6, 2026.
Transparency logRelease files / peeq-0.2.0-py3-none-any.whl
| Download URL | peeq-0.2.0-py3-none-any.whl |
|---|---|
| Size | 157.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
878e0f4914c694004ff31d1d8f03138487d24fa0698387df6a1ff71e8a42ffef
|
|
BLAKE2b-256 checksum How to use checksums |
9473a7db604309b8c781b7f3ce404a7c393e980dc9287571d440b72c0becf92a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 6, 2026.
Transparency log