Skip to main content

Investigate Python package metadata, dependencies, and known vulnerabilities. Built for developers and AI agents.

Project description

peeq

PyPI Python Coverage License

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 agent for 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 like resolve, conflicts, and why utilize uv and 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

Full documentation

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 show directly.

Contributing

See CONTRIBUTING.md for development setup, coding standards, and testing guidelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peeq-0.2.0.tar.gz (136.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peeq-0.2.0-py3-none-any.whl (157.5 kB view details)

Uploaded Python 3

File details

Details for the file peeq-0.2.0.tar.gz.

File metadata

  • Download URL: peeq-0.2.0.tar.gz
  • Upload date:
  • Size: 136.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for peeq-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f2ab007b316eb722a4979a6a24a70895a891e67a6ecde56fcac550e74543d6f7
MD5 e68282fee6345a9d64a5ec8cdfaa43f1
BLAKE2b-256 7b54e9555dc556947a801d308a458ef90013da9165472e7f5977e389cb4b3478

See more details on using hashes here.

Provenance

The following attestation bundles were made for peeq-0.2.0.tar.gz:

Publisher: release.yml on MichaelYochpaz/peeq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peeq-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: peeq-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 157.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for peeq-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 878e0f4914c694004ff31d1d8f03138487d24fa0698387df6a1ff71e8a42ffef
MD5 520b0e81768e716c96948d8b0985bce4
BLAKE2b-256 9473a7db604309b8c781b7f3ce404a7c393e980dc9287571d440b72c0becf92a

See more details on using hashes here.

Provenance

The following attestation bundles were made for peeq-0.2.0-py3-none-any.whl:

Publisher: release.yml on MichaelYochpaz/peeq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page